• Dev TreeList 性能问题


    最近使用 Dev TreeList,在添加4W行记录时,居然花了10多秒,测试发现 使用AppendNode 和 Node.SetValue,会非常耗时!在添加或更新时,虽然已使用了BeginUnboundLoad 和 EndUnboundLoad. 最后换成使用DataSource,速度就非常快了.

    创建对象时,对象中有一个Image属性,是从ImageList.Images中取图片,测试发现这个也非常耗时,换成自定义的Images集合快了很多。应该是

    每次访问ImageList.Images[i] 会创建新的Image对象造成的。

    通过Node.SetValue更新StateImage很慢,于是换成了自定义了一列,通过更新DataSource数据源后,再调用 TreeList.Refresh实现。

    TreeList的DataSource我绑定的是BindingList<T> 集合,更新T对象的某个属性后(该属性为Image类型),测试发现只有调用TreeList.Refresh界面才能正常更新。调用其它方如 TreeList.Update ,TreeList.Invalidate等都不保证界面能得到正确的更新.

    经过以上几骤改造后,一次性加载4W记录(非虚拟模式)1秒之内就完成了.

  • 相关阅读:
    随机生成300道四则运算
    练习
    电梯演说模板练习
    敏捷开发
    团队模式
    思考
    build to win 观后感
    四则运算
    Code review
    Mutual review
  • 原文地址:https://www.cnblogs.com/xiaowy/p/2090116.html
Copyright © 2020-2023  润新知