我有一个绑定到DataGridView
的winForms List<MyObjectType>
。我的问题是,一旦我执行初始myDataGridView.DataSource = myObjectList;
,即使在调试器中myDataGridView.DataSource
上的行计数确实更新,也不会在显示的DataGridView中反映添加/删除列表中的元素。
如果在重新分配列表之前将数据源清空,我可以强制DGV更新显示的行。这看起来很丑陋,我想知道我是不是错过了一个更简单的方法来做到这一点。
myDataGridView.DataSource = null;
myDataGridView.DataSource = myObjectList;
答案 0 :(得分:1)
List<T>
集合不支持更改通知,因此DataGridView
永远无法检测添加/删除元素的时间。请考虑使用ObservableCollection<T>
,其中支持支持更改通知。