【问题标题】:DataTable + DataGrid Data Binding Performance Againsts Custom Data Source Object + Data Grid针对自定义数据源对象 + 数据网格的 DataTable + DataGrid 数据绑定性能
【发布时间】:2010-09-16 13:01:03
【问题描述】:

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

我们在数据网格控件和 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 或使用一些自定义数据源来提高性能

问候,

克里希吉

【问题讨论】:

    标签: .net performance data-binding datatable


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-14
        • 1970-01-01
        • 1970-01-01
        • 2013-12-22
        相关资源
        最近更新 更多