zoukankan      html  css  js  c++  java
  • WPF线程中被修改后DataGrid数据不能及时更新的问题

    DataGrid和Datatable数据绑定后,Datatable在另一个线程中被修改后DataGrid数据不能及时更新的问题

    实例:
    以下meterDataTable已经和datagrid进行了绑定,但是在线程中,修改datatable的内容不能通知到datagrid,也没有报线程安全问题。
    DataRow dr = MeterFiles.meterDataTable.NewRow();
                                dr["MeterAddress"] = Decoder.Decoder.DecodeMessageCallOneMeterConfigMeterAddr(receive_str);
                                dr["Select"] = true; dr["No"] = MeterFiles.notifyPropertyMeterCount.ReadCompletedMeterCount.ToString();
                                dr["DayPositiveActivePowerReadingValue"] = "";
                                dr["ReadDatetime"] = "";
                                MeterFiles.meterDataTable.Rows.Add(dr);

    尝试把这段代码作为线程中异步执行的委托执行就OK了。

    Dispatcher.BeginInvoke(new Action(() =>
                            {
                                DataRow dr = MeterFiles.meterDataTable.NewRow();
                                dr["MeterAddress"] = Decoder.Decoder.DecodeMessageCallOneMeterConfigMeterAddr(receive_str);
                                dr["Select"] = true; dr["No"] = MeterFiles.notifyPropertyMeterCount.ReadCompletedMeterCount.ToString();
                                dr["DayPositiveActivePowerReadingValue"] = "";
                                dr["ReadDatetime"] = "";
                                MeterFiles.meterDataTable.Rows.Add(dr);
                            }));


  • 相关阅读:
    Renderscript 浅析 (三)
    renderscript 浅析(二)
    renderscript 浅析(一)
    小米MACE开源框架搭建
    Word2vec
    最优化算法(牛顿、拟牛顿、梯度下降)
    聚类算法一(Kmeans、层次类聚、谱类聚)
    分类算法三(贝叶斯)
    js 创建方法
    XML与JSON的区别
  • 原文地址:https://www.cnblogs.com/xiepeixing/p/2980478.html
Copyright © 2011-2022 走看看