ListBox не показывает изменения в DataSource

Я думал, что это было простой проблемой, но я не могу найти информацию о сети. Я связываю ListBox с a List использование BindingSource как так:

List<Customer> customers = MyMethodReturningList();

BindingSource customersBindingSource = new BindingSource();
customersBindingSource.DataSource = customers;

customersListBox.DataSource = customersBindingSource;

Теперь, когда я добавляю или удаляю из customers список, мой ListBox обновляется (даже без использования ResetBindings на BindingSource), но если я изменяю какой-либо из клиентских объектов в списке, он не делает. Вызов ResetBindings не имеет никакого эффекта. Я даже реализовал свое собственное BindingList, но поведение не изменилось.
Customer класс использует свойства для доступа и модификации данных. ToString() содержание отображено в списке.

Я использую C# в.Net 2.0.

Какие-либо идеи?

Спасибо

6
задан Błażej Czapp 22 October 2009 в 19:48
поделиться

1 ответ

OK, вот грязное исправление: когда бы вам ни понадобилось обновить содержимое ящика, установите источник данных = null, а затем переопределите его.

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

4
ответ дан 9 December 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: