【问题标题】:How to update DataGridView real time execution?如何更新 DataGridView 实时执行?
【发布时间】:2013-07-25 13:21:13
【问题描述】:

我的DataGridView 显示在另一个系统上输入的信息。当用户插入、更新或删除任何信息时,DataGridView 应该立即更新。
我想过使用递归方法或线程背景,但没有帮助。
我的代码是:

private void Andon_Load(object sender, EventArgs e)
{
    LoadGrid();
}

private void LoadGrid()
{
    DataTableWorkCall cdtwc = new DataTableWorkCall();
    DataTable dtPBList = new DataTable();

    dtPBList = cdtwc.CreatePendingWorkCall();
    DataTableWorkCall.GetDataTableNew = dtPBList;


    if (DataTableWorkCall.GetDataTableNew != DataTableWorkCall.GetDataTableOld)
    {
        if (DataTableWorkCall.GetDataTableNew.Rows.Count > 0)
        {
            DataTableWorkCall.GetDataTableOld = DataTableWorkCall.GetDataTableNew;
            if (this.WindowState == FormWindowState.Minimized)
                this.WindowState = FormWindowState.Normal;
            DataView dv = new DataView(DataTableWorkCall.GetDataTableNew);
            dv.Sort = "workCallOpenDate DESC";
            dgvAndon.DataSource = dv;
            lblRefreshDate.Text = "Atualizado em: " + DateTime.Now;
            existData = true;
        }
        else
        {
            if (this.WindowState == FormWindowState.Normal)
                this.WindowState = FormWindowState.Minimized;

            music.Clear();
            music.StopSound();

            lblRefreshDate.Text = "Atualizado em: " + DateTime.Now;
            existData = false;
        }

        this.Activate();
        //LoadGrid();
    }
    else
    {
        if (this.WindowState == FormWindowState.Normal)
            this.WindowState = FormWindowState.Minimized;

        lblRefreshDate.Text = "Atualizado em: " + DateTime.Now;
        existData = false;

        LoadGrid();
    }

}

这不行,谁能帮帮我?

【问题讨论】:

  • 您可以在定义的时间段后使用Timer control 刷新您的网格
  • 我需要 DataGridView 仅在数据表发生更改时更新。使用计时器,即使没有变化,DataGridView 也会更新。

标签: c# multithreading datagridview


【解决方案1】:

执行此操作的最简单方法(如 shahid Iqbal 所说)是使用计时器并以指定的时间间隔将您的 datagridview 重新绑定到数据源,但用户可能没有更改相关的数据源。

但如果您想要更稳健的方法,请查看以下内容:

Real-Time DataGridView?

如您所见,实现此功能需要一些时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-08
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 2012-04-27
    相关资源
    最近更新 更多