Myślałem, że to prosty problem, ale nie mogę znaleźć żadnych informacji w Internecie. Mam wiążący ListBox do List
użyciu BindingSource
tak:ListBox nie wyświetla zmian w DataSource
List<Customer> customers = MyMethodReturningList();
BindingSource customersBindingSource = new BindingSource();
customersBindingSource.DataSource = customers;
customersListBox.DataSource = customersBindingSource;
Teraz, kiedy dodać lub usunąć z listy customers
mój ListBox
jest aktualizowany (nawet bez użycia ResetBindings
na BindingSource
), ale w przypadku zmiany któregokolwiek obiektów klienta na liście, tak nie jest. Wywołanie ResetBindings
nie daje żadnego efektu. Wdrożyłem nawet swój własny BindingList
, ale zachowanie się nie zmieniło.
Klasa Customer
używa właściwości do uzyskiwania dostępu i modyfikowania danych. Jego zawartość ToString()
jest wyświetlana na liście.
Używam C# w .Net 2.0.
Wszelkie pomysły?
Dzięki
Tak, myślę, że to właśnie zrobiłem na końcu (nie mam teraz kodu), ale jak powiedziałeś, jest brudne. –
Innym problemem jest to, że źródło danych traci ustawienia czasu projektowania, np. Właściwości DisplayMember i ValueMember zostają rozbrojone. – Softec