DataTable+DataGrid数据绑定性能Against自定义数据源对象+数据网格



在我们的工业自动化应用程序中,我们需要以毫秒为单位捕获和显示数据。

我们在数据网格控件和DataTable对象之间有数据绑定。我们有大约三百条记录需要显示在网格中。所以我们每次得到记录都会更新300条记录。

示例

       TabularViewTable tvt = _presenter.WorkItem.Items.Get<TabularViewTable> ("TabularViewTable");
        foreach (DataRow row in tvt.Rows)
        {
            row["Value"] = GetDataFast(row["Name"]);                
        }

连接10个设备后,CPU使用率将达到15%。如何使用DataTable或使用一些自定义数据源来提高性能

问候,

Krishgy

您应该认真考虑您的用户界面:

  • 真的有必要显示300个值吗?普通人不可能同时专注于7件以上的事情
  • 即使您降低了参数的数量,也有一个似乎很高的刷新频率是实用的

您可能应该执行以下操作:

  • 创建一个具有最重要数据(图形、仪表等)图形表示的仪表板
  • 创建钻取式窗体和报表,以便用户可以查看系统在任何给定时间段内发生的情况

对于初学者来说,您需要从DataTable切换到DataReader,因为它要快得多。其次,我会考虑一个LazyLoading架构。绑定50个条目,当它们滚动到底部时,再绑定/加载50个条目。

最新更新