Как обновить форму, привязанную к данным в C #? - PullRequest
0 голосов
/ 20 июня 2011

У меня есть поле со списком данных, привязанных к базе данных и показывающее firstNames, у меня есть кнопка, которая открывает новую форму и позволяет пользователю редактировать указанные firstNames, а затем сохраняет изменения обратно в базу данных (что работает нормально),Мой вопрос заключается в том, как обновить или обновить поле списка в первой форме, чтобы оно отображало сделанные изменения (на данный момент я должен закрыть приложение и перезагрузить его, чтобы отобразить сделанные изменения)?

Примечание. Я использую Microsoft Visual Studio 2010 и создал формы с помощью Windows Forms.

Ответы [ 3 ]

0 голосов
/ 20 июня 2011

Я не пробовал это, но ....

"Однако вы можете принудительно обновить поле со списком, вызвав методы SuspendBinding и ResumeBinding для экземпляра класса BindingContext, с которым связан элемент управления."

http://msdn.microsoft.com/en-us/library/aa984341%28VS.71%29.aspx

(должно быть то же самое для ListBox)

0 голосов
/ 01 февраля 2019

Написать запрос Select в Form_Load и вызывать после того, как вам когда-нибудь понадобится обновить форму, например:

form_load(Object sender,Event_args e)
{
    select Query to display on Loading form
}

add_click(Object sender,Event_args e)
{
    form_load(sender,e)
}
0 голосов
/ 20 июня 2011

Как правило, вам необходимо перезагрузить данные из базы данных в источник привязки данных.Если источник не реализует IBindingList , необходимо вручную обновить компонент:

// BindingContext - the property of ContainerControl (Form or UserControl)
var currencyManager = (CurrencyManager)BindingContext[listBox.DataSource, listBox.DataMember];
currencyManager.Refresh();
...