zoukankan      html  css  js  c++  java
  • 【c#】解决DataTable.Rows.Add(dr)语句执行速度慢的问题(GridControl)

    一般情况下,填充DataTable的方法是:

    先添加列:

    DataTable.Columns.Add("列1");

    DataTable.Columns.Add("列2");

    ……

    再添加行:

    DataRow dr = DataTable.NewRow();

    dr["列1"] = data1;

    dr["列2"] = data2;

    ……

    DataTable.Rows.Add(dr);

    调试的时候发现,Rows.Add(dr);这句运行起码得要200多毫秒,多循环几次,界面控件得几十秒才加载出来,简直反人类  = =||| 

    然后查了一下资料,发现是绑定数据源的地方错了。

    我原来是在添加列以后,就直接把DataTable绑定到 控件.DataSource了,然后再NewRow()添加行的。

    把数据源绑定放在添加行之后,DataTable.Rows.Add(dr);的执行速度就降到20ms左右了,加载速度好歹能接受了。

    不过还有需要优化的地方——数据源绑定的语句在大数据量时速度也会很慢!!

    用DataGridView的话,好像可以这么改:https://www.cnblogs.com/Angel-szl/p/12937842.html

    不过我用的是GridControl和LayoutView,还没找到什么好的办法,等待高手指点……

    PS:如果要设置LayoutView某行的可见性,用LayoutView.Columns["列名"].Visible比

    用LayoutView.Columns.ColumnByFieldName("列名").Visible要快一丢丢。

    /*******相与枕藉乎舟中,不知东方之既白*******/
  • 相关阅读:
    android前台渲染图片
    Neo4j 无法登录
    缺少less-loader ,版本不易过高
    入门测试,扒拉百度搜索结果
    Selenium 安装注意事项
    测试脚本
    设置 清理 SQL SERVER LOG
    查询SQL server 对象存储信息
    Common.Logging 组件版本兼容问题
    3.启动后端
  • 原文地址:https://www.cnblogs.com/Mars-0603/p/13776815.html
Copyright © 2011-2022 走看看