哭求:怎样提高树控件的初始化速度??

时间:2021-09-05 19:50:40
我们正为一个工厂做一个项目,用树控件反映产品的结构。比如:产品-〉部件-〉组件-〉零件,这样的结构。现在的问题是数据库数据量相当大,第二层部件已经有1万多条数据,所以树控件里在产品节点上双击展开下一层时,速度非常非常慢(我的电脑是p4 2.8G 512M),人家工厂很生气,后果很严重。。。。老板限我们1周内解决。5555。。。。我是小猫,没什么分,各位大人帮帮小女子吧!

7 个解决方案

#1


PB的性能是不太高,但也不会这么高,不知道你代码是怎么写的,用PB的TRACE功能找一下性能瓶颈吧,具体TRACE的使用可以看第二期CSDN的PB杂志

#2


后台数据库是什么?
把部分相关代码贴出来看看

#3


1、做成动态加载的。可以减少1次加载的数据量,用户看到什么地方,就加载什么数据。
2、做成自动后台加载的。在系统空闲的时候(idle),自动为该控件寻找下一层数据,等用户点的时候,就不必再等待了。

#4


to:rightyeah(众妙之门) 

不错!我看到过一些程序都是这样的。怎样可以实现呢?

#5


众妙之门的方法非常好!可以实现

我略加改进你试一试
1。在数据库中专门建立一个表(重点),让它主要存储你的树控件结构,体现各层键的关系,具体结构如
a.树控件结构表
{键级别,键名,父键,父键级别(可省略,因为它和父键的差为1)}
b.你需要在最后体现的数据表(用于举例)
{父键,父键级别(不可省略),数据1,数据2......}
2。在程序的树控件所在的窗口open事件中添加第一层的数据。
3。在树控件的clicked事件(或其他事件)中加入用于扩展下一层的结构,这时要用到父键级别。当在“树控件结构表”中找到0条时,意味单击的item是...

按照以上的方法实践的是一个动态的树,以后可以不改变程序的情况下实现树结构的任意变化。你也可以专门编一个用于编辑树结构的窗口,但要主意解决与你数据表的交叉关联问题,保证你的数据与你的键的对应关系。


祝你好运!
Love World!There is Keeper!

#6


利用树的ItemPopulate事件

#7


参考:
http://search.csdn.net/Expert/topic/77/77802.xml?temp=.8858606
http://search.csdn.net/Expert/topic/1074/1074146.xml?temp=.1637232
http://search.csdn.net/Expert/topic/1589/1589405.xml?temp=.5896723

#1


PB的性能是不太高,但也不会这么高,不知道你代码是怎么写的,用PB的TRACE功能找一下性能瓶颈吧,具体TRACE的使用可以看第二期CSDN的PB杂志

#2


后台数据库是什么?
把部分相关代码贴出来看看

#3


1、做成动态加载的。可以减少1次加载的数据量,用户看到什么地方,就加载什么数据。
2、做成自动后台加载的。在系统空闲的时候(idle),自动为该控件寻找下一层数据,等用户点的时候,就不必再等待了。

#4


to:rightyeah(众妙之门) 

不错!我看到过一些程序都是这样的。怎样可以实现呢?

#5


众妙之门的方法非常好!可以实现

我略加改进你试一试
1。在数据库中专门建立一个表(重点),让它主要存储你的树控件结构,体现各层键的关系,具体结构如
a.树控件结构表
{键级别,键名,父键,父键级别(可省略,因为它和父键的差为1)}
b.你需要在最后体现的数据表(用于举例)
{父键,父键级别(不可省略),数据1,数据2......}
2。在程序的树控件所在的窗口open事件中添加第一层的数据。
3。在树控件的clicked事件(或其他事件)中加入用于扩展下一层的结构,这时要用到父键级别。当在“树控件结构表”中找到0条时,意味单击的item是...

按照以上的方法实践的是一个动态的树,以后可以不改变程序的情况下实现树结构的任意变化。你也可以专门编一个用于编辑树结构的窗口,但要主意解决与你数据表的交叉关联问题,保证你的数据与你的键的对应关系。


祝你好运!
Love World!There is Keeper!

#6


利用树的ItemPopulate事件

#7


参考:
http://search.csdn.net/Expert/topic/77/77802.xml?temp=.8858606
http://search.csdn.net/Expert/topic/1074/1074146.xml?temp=.1637232
http://search.csdn.net/Expert/topic/1589/1589405.xml?temp=.5896723