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里面有讲到这个方法.

  • 相关阅读:
    MVC系列-7.更新
    MVC系列-6.注册页面
    MVC系列-5.详细信息
    MVC系列-4.布局页
    MVC系列-3.数据显示
    MVC系列-2.数据处理-登陆
    MVC系列-1.MVC入门
    bootstrap table 服务器端分页--ashx+ajax
    swift学习第八天:元组
    swift学习第七天:字典
  • 原文地址:https://www.cnblogs.com/wildfish/p/400587.html
Copyright © 2011-2022 走看看