zoukankan      html  css  js  c++  java
  • 如何提升在使用DevExpress 系列DataGrid的性能问题

    通常我们需要成批在绑定的时候更新Grid里面的数据.

    这时候两个方法尤其重要.

    BeginUpdate();

    EndUpdate();

    这两个方法可以减少很多不必要的时间.

    For ex:

    改正前

       PrintTicks("全选开始");
       DevExpress.Data.ColumnSortOrder sortOrder = xtraGridView.Columns["colSelect"].SortOrder;
       xtraGridView.Columns["colSelect"].SortOrder = DevExpress.Data.ColumnSortOrder.None;
       xtraGridView.CloseEditor();
       xtraGridView.UpdateCurrentRow();   
       //全选
       int intRowCount = xtraGridView.RowCount;
       for (int i = 0; i < intRowCount; i ++)
       {
        //取选择列并赋值
        xtraGridView.GetDataRow(i)["colSelect"] = true;

       }
       xtraGridView.CloseEditor();
       xtraGridView.UpdateCurrentRow();
       xtraGridView.Columns["colSelect"].SortOrder = sortOrder;
      PrintTicks("全选结束");

    =================================================

     调整后

       PrintTicks("全选开始");
       int intRowCount = xtraGridView.RowCount;
       
       //全选
       //启动批量更新
       xtraGridView.BeginUpdate();  
       for (int i = 0; i < intRowCount; i ++)
       {
        //取选择列并赋值
        xtraGridView.GetDataRow(i)["colSelect"] = true;
       }
       //结束批量更新
       xtraGridView.EndUpdate();

       PrintTicks("全选结束");

    性能差异:

      在Grid里面有100条以上的时候,第一种方法需要大概50秒,第二种方法用1秒.

      在SDK里面有讲到这个方法.

  • 相关阅读:
    手机蓝牙各类服务对应的UUID
    Android数据传递的四种方法
    PS延迟显示的解决方法
    字符串分离函数
    利用cmd命令创建wifi热点
    我的毕业设计——无线控制平台
    只需简单一步,android自带的示例程序 BluetoothChat 变蓝牙串口助手
    volatile 关键字
    PC蓝牙开发笔记
    Jquery与CSS中的大于符号
  • 原文地址:https://www.cnblogs.com/wildfish/p/400587.html
Copyright © 2011-2022 走看看