DataGridView не обновляется при добавлении дополнительных строк в связанный DataSource, если я сначала не обнулю его - PullRequest
1 голос
/ 01 сентября 2010

У меня есть winForms DataGridView, привязанная к List<MyObjectType>. Моя проблема заключается в том, что когда я выполняю начальную myDataGridView.DataSource = myObjectList;, добавление / удаление элементов из списка не отражается в отображаемом DataGridView, даже если в отладчике число строк в myDataGridView.DataSource обновляется.

Я могу заставить DGV обновить отображаемые строки, если я обнуляю источник данных, прежде чем переназначить ему список. Хотя это выглядит ужасно, и мне интересно, не упустил ли я более простой способ сделать это.

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

1 Ответ

1 голос
/ 01 сентября 2010

Коллекция List<T> не поддерживает уведомления об изменениях, поэтому DataGridView никогда не сможет обнаружить, когда вы добавляете / удаляете элементы. Попробуйте использовать ObservableCollection<T>, который поддерживает уведомления об изменениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...