Есть ли лучший способ обновления сетки данных, чем просто добавление и удаление источника данных? - PullRequest
1 голос
/ 22 сентября 2009

У меня есть коллекция List , где UserPropDef - это пользовательский класс с несколькими открытыми свойствами. Я хочу отобразить содержимое этого списка в DataGrid . Поэтому я установил свойство DataGrid.DataSource моей сетки в список, и оно отображает содержимое так, как я хочу.

Теперь, если я добавляю или удаляю элементы из списка, я хочу обновить DataGrid . Я не могу использовать BindingList , потому что этот список должен быть сериализован. Я пытался вызвать методы Update () и Refresh () как DataGrid , так и формы, и ничто, похоже, не вызывает DataGrid для обновления на основе текущего содержимого коллекции.

Похоже, единственное, что работает, - это снова установить свойство DataSource . Тем не менее, при отладке моего кода я вижу, что после изменения коллекции свойство DataSource DataGrid на самом деле все еще ссылается на правильную и обновленную коллекцию.

Есть ли лучший способ заставить DataGrid обновляться на основе его текущего DataSource ?

1 Ответ

1 голос
/ 22 сентября 2009

Мое предложение было бы взять то, что находится за дверью № 3:

Создайте пользовательский Serializable List, который реализует IBindingList (или что-то, что наследуется от BindingList и исправляет проблемы Serializable. Проверьте Fixing BindingList ... для идей).

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