注册 登录
编程论坛 VFP论坛

TreeView动态添加节点

hyf8285 发布于 2022-08-17 10:35, 2612 次点击
我现在是一次性加载节点,当数据比较多时,加载会比较慢,现在想请教,如何动态添加节点,比如,先添加一级节点,如果它有子节点,则通过单击前面的“+”号,加载它的子节点?数据表如下:(请大佬帮忙!谢谢!)
只有本站会员才能查看附件,请 登录
16 回复
#2
cssnet2022-08-17 16:28
这话题有些大,非三言两语说得清楚。印象中,大约十年前有位大侠流星雨先生写了《玩转Treeview》,你不妨百度一下,看还能否找得到:
https://www.baidu.com/s?wd=VFP%20%E7%8E%A9%E8%BD%ACTreeview&pn=40&oq=VFP%20%E7%8E%A9%E8%BD%ACTreeview&tn=baiduhome_pg&ie=utf-8&usm=2&rsv_idx=2&rsv_pq=bebd65880006b272&rsv_t=4d41IkM%2B9N%2BmXG%2BGDkWRc%2FAkGlr67T35TFqJgtPgGSPcLxhVGD6pcQuh2WDHAwTT7Po4
#3
hyf82852022-08-17 16:45
回复 2楼 cssnet
谢谢回复!这个例子我下载了,他是一次性循环添加节点的,我想实现的是动态添加,先添加第一级节点,如果某个节点有子节点且未展开,它的子节点就不加载,当我要展开这个节点时,才加载它的子节点
#4
my23182022-08-17 17:20
回复 3楼 hyf8285
可以在点击节点时添加子节点。
#5
my23182022-08-17 17:22
回复 楼主 hyf8285
前面有+的节点一定有子节点,,这时再通过点击+添加子节点,要注意避免重复添加
#6
hyf82852022-08-17 17:39
回复 5楼 my2318
还请大佬指点迷津,谢谢!
#7
xianfajushi2022-08-17 17:44
可以使用异步加载
#8
hyf82852022-08-17 17:53
回复 7楼 xianfajushi
惭愧!本人水平有限,还请大佬出手相助,谢谢!
#9
csyx2022-08-17 23:31
一次加载一层比一次性全部加载反而更简单
只有本站会员才能查看附件,请 登录

#10
hyf82852022-08-18 07:55
回复 9楼 csyx
感谢Csyx大佬出手,我以为这个要用递归实现呢,原来这样也可以!
#11
sych2022-08-18 09:04
回复 9楼 csyx
谢谢分享,看提供的表中字段,应该还有更强大的功能,希望方便的时候也分享给大家
#12
kangss2022-08-18 10:17
以下是引用csyx在2022-8-17 23:31:52的发言:

一次加载一层比一次性全部加载反而更简单

十分感谢!又学一招。
#13
schtg2022-08-19 06:22
学习啦,谢谢!
#14
hdx602022-08-19 16:45
我个人实实在在不推荐使用treevive第三方控件。还是纯VFP 编的好。因为涉及控件注册,后续问题好麻烦
#15
csyx2022-08-19 22:36
没必要因噎废食,树视图是最适合表示一对多关系的控件,无出其右者,形象且简单
注册就更不是问题了,可以通过安装程序,也可以调用控件自己的DllRegisterServer函数自注册,更有免注册技术可用
#16
kangss2022-08-20 20:18
以下是引用hdx60在2022-8-19 16:45:52的发言:

我个人实实在在不推荐使用treevive第三方控件。还是纯VFP 编的好。因为涉及控件注册,后续问题好麻烦


1、发布的安装包没有带上tree控件
2、没有注册tree控件
3、此注册非注册,不是regver32的注册,是“注册码”“序列号”的注册。

百度一下mstree注册,会有很多答案

这2个问题解决了,就不存在你说的现象,没有任何问题。
#17
cssnet2022-08-20 23:10
以下是引用kangss在2022-8-20 20:18:19的发言:
这2个问题解决了,就不存在你说的现象,没有任何问题。


Treeview控件挺复杂的,也确实挺麻烦。
“没有任何问题”这个结论不可妄下。

首先,因微软的一记昏招,导致MS官方出品的Treeview控件,其6.0版极不好用,很多时候,逼得VBer、VFPer不得不降级改用5.0版,详见以前帖子的讨论。
其次,第三方封装的Tree控件,更不好用,简直是缺心眼的残次品。
最后,程序中用到了各种ocx,很多时候就不得不勉为其难制作一个安装程序,而但凡是这种要注册ocx控件的安装程序,百分之一万地在安装过程中,会被360、电脑管家当作木马、病毒,拼命地弹出安全警告!最要命的是,“允许程序所有操作”这一选项,在360警告窗口右下角极不起眼的位置,用户几乎不可能选对;默认选项则是“阻止本次操作”——这意味着,你的安装程序几乎不可能正确地、顺利地完成安装!

这么说吧,用户安装完你的软件,首次兴冲冲打开你的软件,百分之一万地,极有可能会弹出表单中的OLE控件出错的提示。
1