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

本文关键字:DataGridView 单元格 绑定 更新 为什么 | 更新日期: 2023-09-27 18:10:53

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

我在这里读到我应该使用BindingList。我使用的列表是一个不实现IBindingList的接口类型。但是,用于初始化列表的具体类型继承了BindingList。什么好主意吗?

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

你的list必须实现IBindingList(或者是BindingList),你的object必须实现INotifyPropertyChanged。这两个条件都是DataGridView正确绑定所必需的。

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

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