【问题标题】:Refresh a dataview grid in c#在 C# 中刷新数据视图网格
【发布时间】:2015-02-14 16:17:01
【问题描述】:

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

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

还有:

This.Update();

但没有成功。

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

有什么解决办法吗?

【问题讨论】:

标签: c# dataset dataview


【解决方案1】:

可能你需要这个...

表格 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();
    }
}

【讨论】:

    【解决方案2】:

    您没有具体说明是使用 C# WPF 还是 Winforms。

    但正如评论中所述,您可以重新绑定新源,或者这样做

    YourForm.YourGrid.Items.Refresh();
    

    如果您的代码中的 This.Update() 在您所指的数据网格中,请尝试

    This.Items.Refresh();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      相关资源
      最近更新 更多