你好我是c#的学生并且在winform工作我在这里有一个问题用新值刷新datagridview我有一个mainform,其中我有一个datagridview datagridview中的数据填充了代码
我有一个第二个表单,它从主表单上的一个按钮调用为showdialog
,主表单在后面运行,第二个表单上还有一个按钮,即提交按钮。从第二个表单上有一些控件,然后将数据插入到数据库表中,该表连接到主表单的datagridview,因此我想在打开表单第二个并填充数据然后按下提交按钮时在this.hide();
之后,当主窗体可见时,提交的数据应该在datagridview中
我搜索过并发现更改数据源会导致datagridview刷新新数据,所以我尝试了这个
MAINSOFTWARE ms = new MAINSOFTWARE();
ms.dataGridView1.DataSource = null;
ms.dataGridView1.DataSource = ms.bindingSource1;
this.Hide();
但它没有使用新提交的数据刷新gridview,所以现在有什么办法可以刷新吗?
答案 0 :(得分:2)
当您应该处理原始实例
时,您正在创建MainForm的新实例您可以在第二个表单中创建Datatable
属性,并在其关闭时将Datatable
绑定到MainForm中的DataGridView
。
此代码应位于按钮单击事件处理程序中的MainForm中:
SecondForm.ShowDialog();
//After closing the SecondForm
this.DataGridView1.DataSource = SecondForm.MyDatatable();
在SecondForm中声明DataTable属性:
private DataTable _MyDatatable = new DataTable ();
public DataTable MyDatatable
{
get {
return _MyDatatable ;
}
set {
_MyDatatable = value;
}
}