Как обновить gridview одной дочерней формы mdi при нажатии кнопки другой дочерней формы mdi

Поскольку я новичок в приложениях Windows, я хочу знать, как обновить gridview. У меня есть родитель MDI (AdminPanel), и у него есть две дочерние формы.

1-EditEmp 2-ShowEmp

В ShowEmp.cs есть DataGridview, и когда я нажимаю кнопку редактирования в представлении сетки, он открывает EditEmp.cs со значениями. Когда я нажимаю кнопку обновления, запись в базе данных обновляется, и форма EditEmp закрывается, но datagridview на ShowEmp показывает более ранние значения. Он обновляется только тогда, когда я закрываю эту форму и снова открываю ее.

Я хочу знать, как ссылаться на это представление сетки, когда форма EditEmp закрывается... не закрывая форму, содержащую представление сетки.


person Mayank    schedule 29.03.2014    source источник


Ответы (2)


Вы должны снова связать сетку после закрытия формы EditEmp.

EditEmp e = new EditEmp();
e.ShowDialog();
BindGrid();

Итак, вы открыли форму EditEmp, используя метод ShowDialog(). После этого вам нужно снова привязать сетку.

person Hardik Patel    schedule 29.03.2014

вам нужно обновить данные datagridview при нажатии кнопки.

EditEmp.cs: добавить ниже 3 строки кода на кнопку Click Event

ShowEmp obj = (ShowEmp)Application.OpenForms["ShowEmpFormName"];
obj.refreshData(); //ShowEmp Public Function
this.Close();

ShowEmp.cs: добавьте функцию refreshData для обновления представления сетки данных.

public void refreshData(){
//code to Refresh Data or function that you used when load ShowEmp.cs Form
}

Примечание:
1. Замените ShowEmpFormName своим уникальным именем формы, как в вашем случае ShowEmp
2. Элемент списка, который вы должны использовать public вместо private, потому что функция private недоступна вне класса.

дополнительные сведения о модификаторах см. на странице MSDN: Модификаторы доступа (Руководство по программированию на C#)

person jkdobariya    schedule 12.05.2018