0

我的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();
    }

}

这不起作用,任何人都可以帮助我吗?

4

1 回答 1

0

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

但是,如果您想要更强大的方法,请查看以下内容:

实时数据网格视图?

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

于 2013-07-25T13:35:31.673 回答