2016-05-10 25 views
0

FormParentというフォームにdatagridviewがあります。 datagridviewの各セルは、UserControlのインスタンスです。私はdatagridviewのセルをクリックすると、私は実際にUserControlのインスタンスをクリックしてい子フォームからの親フォームのデータグリッドビューを更新しますか?

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

:次のようになりますFormParentでの方法があります。このクリックはFormChild

UserControlクリックと呼ばれるフォームを開くには、次のようになります

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

FormChildは、いくつかのデータを更新するものを行うボタンがあります。このbutton_Clickイベントハンドラでは、datagridviewFormParentからリフレッシュ(つまり、再バインド)したいと考えています。これどうやってするの? datagridviewがリフレッシュされるように、私はbuttonChildForm_ClickからFormParentRefreshParentFormDatagridviewを呼び出すことができますどのように

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 */ 
} 

:それはこのような何かですか?

ありがとうございました。

+0

あなたはユーザーコントロールのイベントを発生し、メインフォームでそれを購読し、そこにデータをロードすることができます。また、フォームの参照をユーザーコントロールに、次に子フォームに持ち運び、そこでデータをロードする方法を呼び出すことができます。これは、ユーザーコントロールの実装の詳細とセルに表示する方法によって異なります。 –

答えて

関連する問題