ListBox установил источник данных, но Refresh ничего не делает
Я, кажется, неправильно понимаю метод ListBox.Refresh (), и я надеялся, что кто-то может мне помочь.
Что я пытаюсь сделать:
Я хочу загрузить списокs данные (источник = таблица базы данных sql) при инициализации формы окна. Также, когда пользователь добавляет данные в базу данных, я бы хотел обновить список.
Логика:
У меня есть база данных SQL в качестве моего источника, он установлен как:
listBoxDays.DataSource = DBQuery.informationRetreval().DefaultView;
DBquery.informationRetreval () - это статический метод в моем статическом классе DBQuery. Все, что он делает, это устанавливает таблицу из базы данных и затем возвращает таблицу.
Я установил источник данных в том же методе, что и initializeComponent (поэтому мой список будет загружен с существующими данными):
public Settings()
{
InitializeComponent();
listBoxDays.DataSource = DBQuery.informationRetreval().DefaultView;
}
Когда пользователь добавляет дополнительные данные: я вызываю метод, в котором я добавляю данные в базу данных, а затем вызываю:
listBoxDays.Refresh(); //update listbox
Проблема: это не обновляет список. После инициализации моего списка данные будут заполняться, но после этого они не изменятся (следовательно, обновление не работает). Это почему? Я мог бы установить DataSource снова, но это кажется неаккуратным. Изучив некоторую документацию, я заметил обработчик событий DataSourceChanged, который, возможно, больше подходит для того, что я ищу. Тем не менее, почему быобновить работу?
Спасибо за терпеливость. Пожалуйста, дайте мне знать, если мне нужно быть более ясным.