Почему моя сетка данных не обновляется? - PullRequest
1 голос
/ 12 июля 2009

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

myDataGrid.DataSource = myObject.MyList;

но когда я обновляю источник данных новыми строками, сетка не обновляется.

Тогда я попробовал:

myDataGrid.DataSource = null;
myDataGrid.DataSource = myObject.MyList;

Вызов вышеуказанного кода каждый раз, когда я добавляю товар. Это привело к ошибке при щелчке по сетке (в частности, индекс -1 не имеет данных, что-то связано с внутренним datagridview.get_current. Случается, несмотря на то, что я не щелкаю -1-ую строку).

Итак, я попробовал:

myDataGrid.DataBindings.Add(new Binding("DataSoruce",myObject,"MyList",false,DataSourceUpdateMode.OnPropertyChanged));

Это также не отражало обновления, поэтому я добавил:

myDataGrid.DataBindings[0].ReadValue();

всякий раз, когда я добавляю предмет, но это тоже не имеет никакого эффекта. Мне кажется, что я обхожу вокруг более простое решение этой проблемы, но я не могу найти его. Любые профессиональные советы?

Ответы [ 2 ]

1 голос
/ 13 июля 2009

Вы, кажется, уже знаете это, но вы хотите использовать BindingList, если это вообще возможно здесь. Любая попытка создать функцию List, такую ​​как BindingList, будет гораздо более болезненной, чем простое копирование элементов из уже существующего списка в BindingList.

0 голосов
/ 12 июля 2009

Если я изменил свой тип с List на BindingList, все проблемы исчезнут, и сетка автоматически обновится, как и ожидалось.

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