在 C# 中刷新数据视图网格

Posted

技术标签:

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

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

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

还有:

This.Update();

但没有成功。

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

有什么解决办法吗?

【问题讨论】:

你可以试试这个问题的投票答案; ***.com/questions/7008361/… 【参考方案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();

【讨论】:

以上是关于在 C# 中刷新数据视图网格的主要内容,如果未能解决你的问题,请参考以下文章

在 vb.net 中更新后刷新数据网格视图

刷新数据网格视图的问题

刷新数据网格视图

Telerik gridview:数据库更改后如何刷新网格视图

在c#中使用access数据库中的数据网格视图删除一行

网格视图中的行编辑 C#