程序段如下:
SqlCmd = "select FieldA,FieldB from TableA"
Rs.Open SqlCmd, Aconn
While Not Rs.EOF
TViewKHLB.Nodes.Add Trim(Rs("FieldA")), 4, Rs("FieldB"), Rs("FieldB")
'CurKH = CurKH + 1
'frmTemp.PBar1.Value = CurKH
Rs.MoveNext
'DoEvents
Wend
Rs.CloseFieldA是上一层相对应的节点的text。FieldB是这一层treeview的text和key。
这个RecordSet大约有10000多条数据。在实际运行中,发现这一段代码运行所需时间极长。被注释掉的几句是用来观察add的速度的,从中发现一个问题,就是越往后,treeview add 的速度就越慢。在我的机器上(P4 1.7G,256M)运行大约要10多分钟,而在客户的急器(塞扬1.7G,256M)居然约50分钟!这个谁也受不了。所以我想问一下:
1、有没有可以替代ms treeview控件的控件,能够很好的解决这个速度问题?
2、如果没有的话,如何操作才能避免这个问题?需要注意的是,在我的程序里边,有可能会碰到一个节点下边就有上万个子节点的情形。先谢谢各位高人了!如能解决问题,另有200分相赠!
SqlCmd = "select FieldA,FieldB from TableA"
Rs.Open SqlCmd, Aconn
While Not Rs.EOF
TViewKHLB.Nodes.Add Trim(Rs("FieldA")), 4, Rs("FieldB"), Rs("FieldB")
'CurKH = CurKH + 1
'frmTemp.PBar1.Value = CurKH
Rs.MoveNext
'DoEvents
Wend
Rs.CloseFieldA是上一层相对应的节点的text。FieldB是这一层treeview的text和key。
这个RecordSet大约有10000多条数据。在实际运行中,发现这一段代码运行所需时间极长。被注释掉的几句是用来观察add的速度的,从中发现一个问题,就是越往后,treeview add 的速度就越慢。在我的机器上(P4 1.7G,256M)运行大约要10多分钟,而在客户的急器(塞扬1.7G,256M)居然约50分钟!这个谁也受不了。所以我想问一下:
1、有没有可以替代ms treeview控件的控件,能够很好的解决这个速度问题?
2、如果没有的话,如何操作才能避免这个问题?需要注意的是,在我的程序里边,有可能会碰到一个节点下边就有上万个子节点的情形。先谢谢各位高人了!如能解决问题,另有200分相赠!
解决方案 »
- 求教MySQL的问题,在VB中,插入(insert into)数据时,为什么报这个错
- NT下完美屏蔽 Ctrl+Alt+Del 键,经典文章
- SQLServer中使用for xml得到的值怎么分析啊?
- 请教一条SQL!
- [只有18分了~~~!!!!!]超级难的问题,脑细胞都快死了也想不出怎么搞,天哪!!![关于MSHFlexGrid]
- 为什么我打开源程序时,VB弹出提示框“找不到DAO350.dll”,但我在c:\program Files\common Files\Microsoft shared\Dao看到有这个dll啊
- 为什么会出现“找不到可插入的ISAM”?
- 奇怪问题
- 请问VB6.0在哪里下阿???还有什么地方有关于VB的电子书籍???谢谢
- shelliconcache!!!
- 求助:水晶报表问题
- 帮我看看这个SQL语句错在哪.
1、窗体左右放两个datagrid;
2、将你上面的记录集放到左边的datagrid,一两秒就赋给datagrid了;
3、左面的datagrid应该有一个关键字,当单击左面datagrid行时,用这个关键字去查找其下的子节点,将查到的记录集赋给右面的datagrid。
4、这个关联我想如果是两层的树就很好用,但三层或以上的就...看下面的方法用过程表:
将你的树变成记录集,如:
1 2 6
1 2 10
1 2 9
1 3 7
1 4 8
的树,变成记录集后赋给mshflexgrid,然后合并,得到结果是:
6
2 10
1 9
3 7
4 8
是不是有树的感觉了。^_^