【问题标题】:Why aren't bound DataGridView cells being updated?为什么不更新绑定的 DataGridView 单元格?
【发布时间】:2011-12-05 11:20:57
【问题描述】:

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

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

【问题讨论】:

  • 你的平台是什么? WPF?窗体?银光? (等)

标签: c# winforms binding datagridview


【解决方案1】:

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

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

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

【讨论】:

  • 我使用的代码是实现 INotifyPropertyChanged 并且列表是一个绑定列表。但是,设置的标志正在关闭通知。这个答案帮助我解决了这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-04
  • 2011-12-25
  • 1970-01-01
  • 1970-01-01
  • 2021-04-10
  • 2018-09-21
相关资源
最近更新 更多