My 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();
}
}
这不管用,有人能帮我吗?
最简单的方法(正如shahid Iqbal所说)是使用计时器,并在指定的时间间隔将数据网格视图重新绑定到数据源,但用户可能没有更改相关的数据源。
但是,如果你想要一个更稳健的方法,可以看看下面的:
实时DataGridView?
正如您所看到的,实现此功能需要一些时间。