将额外的行添加到绑定的DataSource时,DataGridView不会更新,除非我先将其清空

时间:2010-09-01 13:29:14

标签: c# winforms datagridview

我有一个绑定到DataGridView的winForms List<MyObjectType>。我的问题是,一旦我执行初始myDataGridView.DataSource = myObjectList;,即使在调试器中myDataGridView.DataSource上的行计数确实更新,也不会在显示的DataGridView中反映添加/删除列表中的元素。

如果在重新分配列表之前将数据源清空,我可以强制DGV更新显示的行。这看起来很丑陋,我想知道我是不是错过了一个更简单的方法来做到这一点。

myDataGridView.DataSource = null;
myDataGridView.DataSource = myObjectList;

1 个答案:

答案 0 :(得分:1)

List<T>集合不支持更改通知,因此DataGridView永远无法检测添加/删除元素的时间。请考虑使用ObservableCollection<T>,其中支持支持更改通知。