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

8
我已经成功地将我的DataGridView绑定到一个列表上。但是,当我以编程方式更改列表中某个对象的一些属性时,网格不会刷新。如果我点击单元格(或最小化然后最大化窗体),则显示的值会刷新。
我在这里读到这里,我应该使用BindingList。我正在使用一个接口类型的列表,它没有实现IBindingList。但是,用于初始化列表的具体类型确实继承自BindingList。有什么想法吗?

你使用的平台是什么?WPF?Winforms?Silverlight?(等等) - Muad'Dib
1个回答

11

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

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

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


我使用的代码实现了INotifyPropertyChanged,而列表是一个绑定列表。但是,设置的标志正在关闭通知。这个答案帮助我找出了问题所在。 - bsh152s

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接