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秒之内就完成了.

 

转载于:https://www.cnblogs.com/xiaowy/archive/2011/06/25/2090116.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值