Обновить таблицу данных родительского окна MDI после закрытия дочернего окна в приложении C # .Net Windows? - PullRequest
0 голосов
/ 01 октября 2010

У меня есть окно MDI с элементом управления datagridview, который используется для отображения списка записей в таблицах базы данных. Если пользователь хочет добавить новую запись, он нажимает «новая», и появляется всплывающее окно (дочернее). Всплывающее окно принимает данные от пользователя (имя, номер, дата и т. Д.) И затем отправляется обратно на сервер, когда пользователи нажимают кнопку «ОК». На этом этапе я хочу обновить базу данных новой записью, закрыть всплывающее (дочернее) окно, а затем обновить представление данных родительского окна, чтобы оно отражало вновь добавленную запись, созданную с помощью всплывающего окна.

Вот код для открытия дочернего окна из MDI

frmJobControlWindow frmjobcontrol = new frmJobControlWindow();
frmjobcontrol.ShowDialog();

во время события закрытия дочернего окна, как обрабатывать обновление MDI Parent DataGridview?

1 Ответ

0 голосов
/ 01 октября 2010

ShowDialog () возвращает значение, которое указывает, что пользователь сделал с диалоговым окном.Используйте его следующим образом:

using (frmJobControlWindow frmjobcontrol = new frmJobControlWindow()) {
    if (frmjobcontrol.ShowDialog() == DialogResult.Ok) {
        // update datagrid
        //...
    }
}

Обязательно установите свойство DialogResult диалогового окна в своей кнопке ОК. Нажмите обработчик события:

private void Ok_Click(object sender, EventArgs e) {
    // Do some stuff
    //...
    this.DialogResult = DialogResult.Ok;
}

Хотя это происходит автоматически, когда вы устанавливаете свойство формы AcceptButton,Установка DialogResult также автоматически закрывает диалоговое окно.

...