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

bsh*_*52s 8 c# binding datagridview winforms

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

在这里读到我应该使用BindingList.我使用的列表是一个不实现IBindingList的接口类型.但是,用于初始化列表的具体类型确实继承了BindingList.有任何想法吗?

Ahm*_*met 9

您的列表必须实现IBindingList(或是a BindingList),并且您的对象必须实现INotifyPropertyChanged.DataGridView正确绑定需要这两个条件.

所以,如果您的数据源是,例如MyList<MyClass>,MyList必须实现IBindingListMyClass必须implmenent INotifyPropertyChanged.

这是一个很好的例子:http://crazorsharp.blogspot.com/2009/06/inotifypropertychanged-how-to-and-when.html