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

时间:2008-10-10 14:51:49

标签: .net performance data-binding datatable

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

我们在数据网格控件和DataTable对象之间有数据绑定。我们有大约300条记录需要在网格中显示。因此,每次获取记录时,我们都会更新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

2 个答案:

答案 0 :(得分:2)

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

  • 是否真的有必要显示300个值?普通人不能同时专注于7件事以上,
  • 即使你减少了参数数量,也有一些看似很高的刷新频率是实用的。

你可能应该这样做:

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

答案 1 :(得分:0)

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