在一个表单中更新gridview
本文关键字:表单 更新 gridview 一个 | 更新日期: 2023-09-27 18:06:16
我有一个小问题与DataGridView。
我有两个表单,在一个表单中,数据将由DataGridView填充。
当我们点击gridview的列标题时,另一个表单将被打开,并带有相应的列值。
我已经对form2中的数据进行了一些操作,所以在关闭form2之前,我想用这些细节更新form1 gridview…
我看到了一些细节,如eventhandler附件在form1,但我没有找到一个确切的答案。
表格2代码
public event EventHandler<UpdatedEventArgs> updateEvent;
public class UpdatedEventArgs : EventArgs
{
public string SomeVal { get; set; } // create custom event arg for your need
}
protected virtual void OnFirstUpdateEvent(UpdatedEventArgs e)
{
if (updateEvent != null)
updateEvent(this, e);
}
private void button1_Click(object sender, EventArgs e)
{
UpdatedEventArgs eventData = new UpdatedEventArgs();
eventData.SomeVal = "test"; // set update event arguments, according to your need
OnFirstUpdateEvent(eventData);
}
public Form2()
{
InitializeComponent();
}
表格1代码
public Form1()
{
InitializeComponent();
Form2 form2 = new Form2();
form2.updateEvent += new EventHandler<Form2.UpdatedEventArgs>(form2_updateEvent); // create event handler to update form 1 from form 2
form2.Show();
}
void form2_updateEvent(object sender, Form2.UpdatedEventArgs e)
{
if (e != null && e.SomeVal != null)
{
// Do the update on Form 1
// depend on your event arguments update the grid
//MessageBox.Show(e.SomeVal);
}
}
通过使用DataGrid,您很可能像使用模型一样使用DataTable。我会说传递像参数一样的数据表到form2,并在form2中操作相同的数据表对象,因此对其行和提交的更改将自动反映在form1上。