如何加快程序的响应速度?初始化树形控件太费时了

时间:2022-01-25 22:00:46
在树形控件中需要显示每个结点的状态(是否选中,TEXT,数据存放于数据库中),每次对树形控件初始化时需要大约六秒(子结点太多了).如何加快程序的响应速度?

在数据库中如何存放树形控件的结点会快点?目前我是把树形控件的KEY,是否选择及TEXT的内容放在数据库中,初始化树形控件时,对树控件的每个结点都在数据库中寻找对应项,来把树控件的状态更新,这种做法很慢.有没有更好的方法?
说明一点:子结点是会变化的,不能在数据库中用index值,根据数据库记录一条条来初始化树形控件.

7 个解决方案

#1


给每个父结点添加一个空的子结点完成初始化,如果node产生展开事件,再删除这个空子结点,动态添加实际子结点。

#2


fankun(@BrokenWorld我是上帝的玩偶@):这方法不好,在窗体中如果需要再次初始化树时.树结点就会乱.

#3


我想你慢的原因可能是添加一个节点查询一次数据库

是否能改为从数据库中一次就提取所有数据,然后添加节点时作判断呢?

另外,还可能是从数据库中取值时慢,那么需要用存储过程返回结果集

没有代码,分析不好你的原因,最起码贴一部分你添加节点的代码才行。

#4


为每个结点添加一个空子结点,如果结点很多,在初始化的时候慢一点,之后的访问就会快许多,我用这个方法做了个简单的资源管理器,没有乱,,
我也曾做过数据库生成树,也可以的/

#5


该回复被版主删除

#6


iamtsfw(iamtsfw) :树形结点的值保存在数据库中比较麻烦,现在我一个节点一条记录.一次访问,就将所有节点的状态都清楚,比较难.子结点是会增加删除变化的

#7


如果可以的话,加我qq397667325,你摘录相关添加代码和数据库发送给我,我来看看

#8


fankun(@BrokenWorld我是上帝的玩偶@) ( ) 信誉:100    Blog   

的思路可行!
但方法不是很好。不如刚开始只加两层,其它的在nodeclick或nodecheck中再加入。

#1


给每个父结点添加一个空的子结点完成初始化,如果node产生展开事件,再删除这个空子结点,动态添加实际子结点。

#2


fankun(@BrokenWorld我是上帝的玩偶@):这方法不好,在窗体中如果需要再次初始化树时.树结点就会乱.

#3


我想你慢的原因可能是添加一个节点查询一次数据库

是否能改为从数据库中一次就提取所有数据,然后添加节点时作判断呢?

另外,还可能是从数据库中取值时慢,那么需要用存储过程返回结果集

没有代码,分析不好你的原因,最起码贴一部分你添加节点的代码才行。

#4


为每个结点添加一个空子结点,如果结点很多,在初始化的时候慢一点,之后的访问就会快许多,我用这个方法做了个简单的资源管理器,没有乱,,
我也曾做过数据库生成树,也可以的/

#5


该回复被版主删除

#6


iamtsfw(iamtsfw) :树形结点的值保存在数据库中比较麻烦,现在我一个节点一条记录.一次访问,就将所有节点的状态都清楚,比较难.子结点是会增加删除变化的

#7


如果可以的话,加我qq397667325,你摘录相关添加代码和数据库发送给我,我来看看

#8


fankun(@BrokenWorld我是上帝的玩偶@) ( ) 信誉:100    Blog   

的思路可行!
但方法不是很好。不如刚开始只加两层,其它的在nodeclick或nodecheck中再加入。