除非传递“true”,否则BindingSource.ResetBindings无效

时间:2012-02-28 17:17:10

标签: c# data-binding .net-4.0

我有一个绑定到BindingSource的网格(后者又绑定到List<T>)。当我更改基础List<T>数据然后调用:

bs.ResetBindings(false);

网格更新。但如果我打电话:

bs.ResetBindings(true);

确实更新。我的代码现在正在运行,但我仍然感到困惑,为什么这是必要的。根据{{​​3}},ResetBindings的参数应设置为:

  如果数据架构已更改,则

true ; false 如果只有值已更改

我当然没有更改任何数据架构......为什么我需要 true

1 个答案:

答案 0 :(得分:0)

如果你有两种类型:Cat和Dog都来自Animal。这将无法正常工作:

来自Designer.cs的

animalBindingSource1.DataSource = typeof(Animal);

然后在例如Form_Load

List<Cat> cats = getCats();
animalBindingSource1.DataSource = cats;

尝试使用BindingList,例如

animalBindingSource1.DataSource = new BindingList<Animal>(cats);

如果代码不起作用,请发布代码。 devexpress网格控制可能没什么问题。