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

  • 相关阅读:
    C#聊天+五子棋
    分页
    用户自定义控件(.ascx)
    一、Text To Speech
    验证码
    白话学习MVC(三)页面周期二
    二、Speech To Text
    微软云体验营 北京站 ,4月27日免费开营啦!名额有限速速报名!
    Windows 8 页面应用测试(2)
    《Windows 8应用开发权威指南》图书开始在网络上预售
  • 原文地址:https://www.cnblogs.com/wildfish/p/400587.html
Copyright © 2011-2022 走看看