我有一个绑定到数据网格的数据集。在数据集中,有一个保存数据状态的列。在页面加载时,它具有“待定”值。
现在,当我与 3rd 方软件交互时,它的值会更新“成功”或“失败”。但是当所有事务都完成时,这些更改会反映在数据网格上。
我想根据事务显示所有更新的结果..使用线程。
请给我一个代码。
提前致谢
我有一个绑定到数据网格的数据集。在数据集中,有一个保存数据状态的列。在页面加载时,它具有“待定”值。
现在,当我与 3rd 方软件交互时,它的值会更新“成功”或“失败”。但是当所有事务都完成时,这些更改会反映在数据网格上。
我想根据事务显示所有更新的结果..使用线程。
请给我一个代码。
提前致谢
您不能从另一个线程更新 DataSet。如果这样做,应用程序将导致跨线程操作异常。我看到的最好的方法是在后台线程中计算所需的状态,但在主线程中更新 DataSet。这不应影响您的应用程序性能。这是一些示例代码:
...
ThreadStart ts = new ThreadStart(UpdateStatuses);
Thread thread = new Thread(ts);
thread.Start();
...
void UpdateStatuses() {
// calculate statuses ;
BeginInvoke(new MethodInvoker(delegate {
for(int i = 0; i < table.Rows.Count; i++)
table.Rows[i]["Status"] = someValue;
}));
}