我有一个带有DataGridView项的表单,它可以查看数据库中的表。另一个表单向该表添加一个新行并自行关闭它。在第一种形式中,在第二种形式的结束事件中,我希望第一种形式更新/刷新/重新填充自己刚刚添加的新数据。 我试过这个:
this.swimmersTableAdapter.Update(this.databaseDataSet1.swimmers);
和
This.Update();
但未成功。
当我停止调试时它会自动刷新,并再次运行它,但是对于客户端/用户来说它是不实用的。
任何解决方案?
答案 0 :(得分:0)
可能你需要这个......
表单1:
public partial class Form1 : Form
{
public Form1()
{
//'add a label and a buttom to form
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2(this);
frm2.Show();
}
public void RefreshGrid()
{
dataGridView1.Update();
}
}
表格2:
public class Form2 : Form
{
Form1 _frm1;
public Form2(Form1 frm1)
{
_frm1 = frm1;
this.FormClosing += Form2_FormClosing;
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
_frm1.RefreshGrid();
}
}
答案 1 :(得分:0)
如果做C#WPF或Winforms,你不具体。
但是正如评论所指出的那样,您可以重新绑定新来源,或者执行
YourForm.YourGrid.Items.Refresh();
如果代码中的This.Update()位于您引用的数据网格中,请尝试
This.Items.Refresh();