从子窗体刷新父窗体中的datagridview?

Refresh datagridview in Parent Form from Child Form?

我们有一个名为 FormParent 的表单,带有 datagridviewdatagridview 中的每个单元格都是 UserControl 的一个实例。 FormParent 中有一个方法如下所示:

private void RefreshParentFormDatagridview()
{
    DataTable myTable = GetEmployees();
    dataGridView1.DataSource = DT;
}

当我点击 datagridview 的单元格时,我实际上是在点击 UserControl 的一个实例。此单击将打开一个名为 FormChild

的表单

UserControl 点击看起来像这样:

private void UserControl_Click(object sender, EventArgs e)
{
    var formChild = new FormChild();
    formChild.ShowDialog();
}

FormChild 有一个按钮可以 stuff 来更新一些数据;在这个 button_Click 事件处理程序中,我还想刷新(即重新绑定)来自 FormParentdatagridview。我怎样才能做到这一点?是这样的:

private void buttonChildForm_Click(object sender, EventArgs e)
{
    /* Saving stuff to database table */

    MessageBox.Show("Stuff saved");
    this.buttonSave.Enabled = false;

    /* run datagridview.datasource to update datagridview in FormParent */
}

如何从 buttonChildForm_Click 调用 FormParent 中的 RefreshParentFormDatagridview 以便刷新 datagridview

谢谢。

我最终将对 dataGridView1 控件的引用传递给了我的 UC,然后它又将它传递给了子窗体。

以此为参考:how to refresh grid on parent form from child form