使用treeview显示数据库数据
使用 TV.Nodes.Add 添加节点
加 doevents 可以看到节点的添加过程无论是数据量大还是数据量小 填加单个速度都没什么变化
还有就是 TV.Nodes.Clear 清空时也是非常的慢请问这是treeview的问题还是我程序的问题请问应该怎么来提高速度呀
使用 TV.Nodes.Add 添加节点
加 doevents 可以看到节点的添加过程无论是数据量大还是数据量小 填加单个速度都没什么变化
还有就是 TV.Nodes.Clear 清空时也是非常的慢请问这是treeview的问题还是我程序的问题请问应该怎么来提高速度呀
do while rst.eof=falsetv.node.addrst.movenext
loop程序就是这样呀
do while not rst.eoftv.node.addrst.movenext
loop
可用lockwindowupdate treeview1.hwnd 先禁止控件更新
添加数据完成后再用lockwindowupdate 0 解禁
2.可先添加第一层数据,展开时再加载下层数据
意思是不是每个大类都要做一次 SQL 的 SELECT 操作,如果是的话,请测试一下:
不执行 Treeview.node.add,仅仅将两层循环全部执行一下,是否很慢?建议将全部的大类和全部的子类用两个 RecordSet 一次性读入,用大类检索子类只需设置 RecordSet.Filter 属性就可以了。
二是填加数据之前将控件的Visible属性设置为False,添加完后再设置为True其实这两种方法都是在填加数据的时候防止控件重绘,以加快速度。