标题:请教TreeView遍历选中节点及其子节点
取消只看楼主
hyf8285
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2013-1-21
结帖率:92.86%
已结贴  问题点数:46 回复次数:21 
请教TreeView遍历选中节点及其子节点
请教:版主和各位大佬,想通过遍历节点及子节点枚举得到节点的路径,比如:我点击“南京大学”,则它的路径为“笔记分类\南京大学”,然后会遍历他的每个子节点,遍历到“经济学”时,则它的路径为“笔记分类\南京大学\经济学”,以此类推,在网上抄了一段遍历子节点的代码,其中注释部分是我写的,但是不对,麻烦大佬帮忙看下。(我知道TreeView控件有FullPath属性得到路径的,但是我使用的场景是加载数据之前),只有46分了
tree.rar (20.68 KB)
搜索更多相关主题的帖子: 子节点 路径 TreeView 节点 遍历 
2022-07-12 19:51
hyf8285
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2013-1-21
得分:0 
请大佬帮忙看下!
2022-07-12 20:36
hyf8285
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2013-1-21
得分:0 
回复 3楼 csyx
谢谢!确实好用!还想请教:我如何更新子节点的路径?(我想要移动节点来更新路径),比如“经济学”原来的路径是“笔记分类\南京大学\经济学”,现在我将“经济学”节点移动到“南京理工大学”下面,则路径要变为“笔记分类\南京理工大学\经济学”,他的子节点也要同时更新,请问如何操作?
2022-07-13 10:30
hyf8285
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2013-1-21
得分:0 
回复 5楼 csyx
移完以后,TreeView控件要重新加载数据,我是根据表的数据来加载的,通过父对象和层数的顺序来加载,移完后数据表的父对象和层数都要相应的改变,才能顺利加载,否则会出现找不到对象,我通过算路径的层数来决定加载的顺序

[此贴子已经被作者于2022-7-13 11:30编辑过]

2022-07-13 11:27
hyf8285
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2013-1-21
得分:0 
回复 7楼 csyx
好的,感谢!我下午做个例子发给你看下
2022-07-13 12:05
hyf8285
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2013-1-21
得分:0 
回复 7楼 csyx
请大佬帮忙看下!谢谢!
TreeView问题.rar (21.17 KB)
2022-07-13 14:44
hyf8285
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2013-1-21
得分:0 
回复 10楼 csyx
好的,谢谢!我学习下!
2022-07-13 17:49
hyf8285
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2013-1-21
得分:0 
回复 12楼 csyx
是的,正在学习!那这样我原来程序里的大部分代码都要修改了,你是用递归来加载数据的吧?那我原来表里的nLayer字段(层级)还需要了吗?
2022-07-13 18:22
hyf8285
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2013-1-21
得分:0 
回复 14楼 csyx
nLayer字段就是为了动态加载数据而设的,按照“父对象+nLayer”升序排列,一层一层的加载,也是为了避免父对象还未加载而出现错误,所以,我本来的想法是,拖动节点后,先算出新节点的层数,然后加载,这样也不会错。问题就是不会算拖动后节点的层数,现在按照你的方法,nLayer可以不要了,cFullPath是在我的程序里用到的。
非常感谢您的帮助!我还在学习领悟你的方法!

[此贴子已经被作者于2022-7-13 18:57编辑过]

2022-07-13 18:55
hyf8285
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2013-1-21
得分:0 
限制条件我会写的,包括不能移到子节点的子节点...
2022-07-13 18:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509547-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.271006 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved