您的位置:程序门 -> vb -> 基础类



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


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何加快程序的响应速度?初始化树形控件太费时了[已结贴,结贴人:cayw]
发表于:2007-05-12 14:01:39 楼主
在树形控件中需要显示每个结点的状态(是否选中,text,数据存放于数据库中),每次对树形控件初始化时需要大约六秒(子结点太多了).如何加快程序的响应速度?

在数据库中如何存放树形控件的结点会快点?目前我是把树形控件的key,是否选择及text的内容放在数据库中,初始化树形控件时,对树控件的每个结点都在数据库中寻找对应项,来把树控件的状态更新,这种做法很慢.有没有更好的方法?
说明一点:子结点是会变化的,不能在数据库中用index值,根据数据库记录一条条来初始化树形控件.
发表于:2007-05-12 14:43:501楼 得分:10
给每个父结点添加一个空的子结点完成初始化,如果node产生展开事件,再删除这个空子结点,动态添加实际子结点。
发表于:2007-05-12 15:04:582楼 得分:0
fankun(@brokenworld我是上帝的玩偶@):这方法不好,在窗体中如果需要再次初始化树时.树结点就会乱.
发表于:2007-05-12 15:17:023楼 得分:0
我想你慢的原因可能是添加一个节点查询一次数据库

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

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

没有代码,分析不好你的原因,最起码贴一部分你添加节点的代码才行。
发表于:2007-05-12 15:19:234楼 得分:10
为每个结点添加一个空子结点,如果结点很多,在初始化的时候慢一点,之后的访问就会快许多,我用这个方法做了个简单的资源管理器,没有乱,,
我也曾做过数据库生成树,也可以的/
发表于:2007-05-12 15:28:395楼 得分:0
该回复于2007-12-28 18:04:11被管理员或版主删除
发表于:2007-05-12 15:36:166楼 得分:0
iamtsfw(iamtsfw)   :树形结点的值保存在数据库中比较麻烦,现在我一个节点一条记录.一次访问,就将所有节点的状态都清楚,比较难.子结点是会增加删除变化的
发表于:2007-05-12 15:44:107楼 得分:10
如果可以的话,加我qq397667325,你摘录相关添加代码和数据库发送给我,我来看看
发表于:2007-05-13 00:43:178楼 得分:10
fankun(@brokenworld我是上帝的玩偶@)   (   )   信誉:100         blog      

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


快速检索

最新资讯
热门点击