为什么绑定的DataGridView单元格没有更新?

时间:2011-10-11 16:27:21

标签: c# winforms binding datagridview

我已成功将DataGridView绑定到列表中。但是,当我以编程方式更改列表中某个对象的某些属性时,网格不会刷新。如果我单击单元格(或最小化然后最大化表单),则刷新显示的值。

我读here我应该使用BindingList。我使用的列表是一个不实现IBindingList的接口类型。但是,用于初始化列表的具体类型确实继承了BindingList。有什么想法吗?

1 个答案:

答案 0 :(得分:9)

您的列表必须实现IBindingList(或BindingList),您的对象必须实现INotifyPropertyChanged。这两个条件都是DataGridView正确绑定所必需的。

因此,如果您的数据源是MyList<MyClass>MyList必须实现IBindingList,而MyClass必须是INotifyPropertyChanged

以下是一个简洁的例子:http://crazorsharp.blogspot.com/2009/06/inotifypropertychanged-how-to-and-when.html