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イベントハンドラでは、datagridview
をFormParent
からリフレッシュ(つまり、再バインド)したいと考えています。これどうやってするの? datagridview
がリフレッシュされるように、私はbuttonChildForm_Click
からFormParent
でRefreshParentFormDatagridview
を呼び出すことができますどのように
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 */
}
:それはこのような何かですか?
ありがとうございました。
あなたはユーザーコントロールのイベントを発生し、メインフォームでそれを購読し、そこにデータをロードすることができます。また、フォームの参照をユーザーコントロールに、次に子フォームに持ち運び、そこでデータをロードする方法を呼び出すことができます。これは、ユーザーコントロールの実装の詳細とセルに表示する方法によって異なります。 –