刷新c#中的数据视图网格

时间:2014-12-16 11:05:47

标签: c# dataset dataview

我有一个带有DataGridView项的表单,它可以查看数据库中的表。另一个表单向该表添加一个新行并自行关闭它。在第一种形式中,在第二种形式的结束事件中,我希望第一种形式更新/刷新/重新填充自己刚刚添加的新数据。 我试过这个:

this.swimmersTableAdapter.Update(this.databaseDataSet1.swimmers);

This.Update();

但未成功。

当我停止调试时它会自动刷新,并再次运行它,但是对于客户端/用户来说它是不实用的。

任何解决方案?

2 个答案:

答案 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();