更新后如何连续刷新datagridview

Posted

技术标签:

【中文标题】更新后如何连续刷新datagridview【英文标题】:How to Refresh datagridview continously after Updating 【发布时间】:2012-06-17 05:24:47 【问题描述】:

我正在使用此代码在访问数据库中更新数据后更新我的数据网格视图。数据每秒更新一次我将此代码保持在后台循环中但是当我启动后台时,一个大 X 是正在显示。

  try
        
            OleDbDataAdapter dAdapter;
            OleDbCommandBuilder cBuilder;
            DataTable dTable;
            BindingSource bSource = new BindingSource();
        dAdapter = new OleDbDataAdapter("Select * from data", cls_rt.con);

        //create a command builder
        cBuilder = new OleDbCommandBuilder(dAdapter);

        //create a DataTable to hold the query results
        dTable = new DataTable();

        //fill the DataTable
        dAdapter.Fill(dTable);


        //BindingSource to sync DataTable and DataGridView
        bSource = new BindingSource();

        //set the BindingSource DataSource
        bSource.DataSource = dTable;

        DataGridView.DataSource = dTable;
        
        catch (Exception)
        

        

然后我使用了这段代码

        try
        
            this.dataTableAdapter.Fill(this.rTDataSet.data);
        

并保持循环

        dataDataGridView.Update();

然后

        dataDataGridView.Refresh();

然后

        dataDataGridView.RefreshEdit();

但它对我有用

我希望我的 datagridview 每秒更新一次,当它更新时再更新一件事我不希望整个 gridview 更新我只想更新特定单元格。

如果有人可以帮助我,他们将不胜感激。

提前致谢。

【问题讨论】:

为什么要每秒更新一次?您可以拥有一个 Repository,负责访问 BL 并以可绑定的方式缓存所有数据,并将 DGV 绑定到它。 它是一个实时数据,它每秒更新一次,这就是我想要更新的原因 你能说我该怎么做吗@YoryeNathan,因为我不知道你在说什么。 你必须有负责获取实时数据和更新的东西,对吧? 下载了一堆数据为什么不更新DGV?像现在一样批量下载,插入数据库,并使用现有数据更新 DGV。 【参考方案1】:

几乎所有 datagridview 的刷新/更新值都会将您发送到相同的方式。通过这种方式“刷新”您的 dgv 最简单的方法是在您需要刷新值时放置此行

yourDataGridview.DataSource = yourDataRetrievingMethod  // in your situation your dataset and/or table

【讨论】:

以上是关于更新后如何连续刷新datagridview的主要内容,如果未能解决你的问题,请参考以下文章

更新面板刷新后如何运行一些 javascript?

jdbcTemplate 更新后如何刷新 entityManager 状态

如何在GWT中更新后刷新网格?

30分钟后如何自动刷新票?

更新表格视图单元格中的核心数据值后如何刷新

自动刷新 JSON