【发布时间】:2015-04-06 09:46:52
【问题描述】:
我想检查数据库中所有数据的状态是否更改为“已报告”在 wpf datagrid 中自动刷新
这里正在使用下面的代码,告诉我如何在线程中给出它以每 2 分钟自动刷新一次。 如何为自动刷新检查提供以下代码:-
public void automaticreport(object m)
{
foreach (var autsdyid in LoadStudyIdentifiers())
{
if (!this.reportchk)
{
Reportnew cf = new Reportnew();
ThreadPool.QueueUserWorkItem((WaitCallback)(o => cf.ReportRetrive(this, autsdyid, true)));
}
else
{
int num = (int)System.Windows.Forms.MessageBox.Show("Reports checking in progress, Please wait sometime and try again later", "OPTICS", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
}
}
private string[] LoadStudyIdentifiers()
{
var results = new List<string>();
using (var con = new SqlConnection(constr))
{
con.Open();
var autoquery = "Select StudyUID From StudyTable Where status='2'";
using (var cmd = new SqlCommand(autoquery, con))
{
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
results.Add(rdr.GetString(rdr.GetOrdinal("StudyUID")));
}
}
}
return results.ToArray();
}
【问题讨论】:
-
我认为在 SO 上下文中解释得太宽泛
-
@KcDoD:如何在线程自动刷新中给它?
-
这是您需要每 2 分钟运行一次的代码还是您想要实现的目标?
-
一种选择是使用定时器......并用定时器触发一些事件......
-
是的,这是代码,如何通过自动在线程中给出 -@ThomasLindvall
标签: c# wpf multithreading windows-services wpfdatagrid