2010-09-01 26 views
1

我有一個winForms DataGridView綁定到List<MyObjectType>。我的問題是,一旦我做了初始myDataGridView.DataSource = myObjectList;即使在調試器中myDataGridView.DataSource上的行計數更新,添加/刪除列表中的元素並未反映在顯示的DataGridView中。當附加行被添加到綁定的DataSource時,DataGridView不會更新,除非我先將它清空

我可以強制DGV更新所顯示的行,如果在重新分配列表之前將空數據源歸零。這看起來很醜,我想知道如果我沒有錯過一個更簡單的方法來做到這一點。

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

回答

1

List<T>集合不支持更改通知,所以DataGridView將永遠無法檢測到當您添加/刪除元素。考慮使用ObservableCollection<T>,其中支持更改通知

+0

'ObservableCollection '不適用於'DataGridView'。 'BindingList '是用於在'DataGridView'或'DataTable'中綁定的集合類型 – Fabio 2015-06-03 23:09:08

相關問題