标题:请教TreeView遍历选中节点及其子节点
只看楼主
hyf8285
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2013-1-21
结帖率:92.86%
已结贴  问题点数:46 回复次数:37 
请教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
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:46 
如果只是遍历子节点,几行代码就够了
1. 新建一个表单方法: 遍历子节点,代码如下
程序代码:
Lparameters oNode

? oNode.FullPath

Local oo

If oNode.Children > 0
    oo = oNode.Child
    Do while !IsNull(oo)
        This.遍历子节点(oo)
        oo = oo.Next
    EndDo
EndIf


2. 遍历子节点按钮.Click 调用它:
Thisform.遍历子节点(Thisform.treeView1.SelectedItem)
2022-07-13 09:13
hyf8285
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2013-1-21
得分:0 
回复 3楼 csyx
谢谢!确实好用!还想请教:我如何更新子节点的路径?(我想要移动节点来更新路径),比如“经济学”原来的路径是“笔记分类\南京大学\经济学”,现在我将“经济学”节点移动到“南京理工大学”下面,则路径要变为“笔记分类\南京理工大学\经济学”,他的子节点也要同时更新,请问如何操作?
2022-07-13 10:30
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:0 
节点移动后,被移动节点及所有子节点的 fullpath 属性自动就变了,要更新啥

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

2022-07-13 11:10
hyf8285
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2013-1-21
得分:0 
回复 5楼 csyx
移完以后,TreeView控件要重新加载数据,我是根据表的数据来加载的,通过父对象和层数的顺序来加载,移完后数据表的父对象和层数都要相应的改变,才能顺利加载,否则会出现找不到对象,我通过算路径的层数来决定加载的顺序

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

2022-07-13 11:27
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:0 
没明白,发个示例上来,要根据你是如何移动节点的,然后要更新啥,才知道
2022-07-13 11:35
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
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:0 
简单修改了一下,详见 treeview1.init 开头注释
表单1.rar (9.5 KB)
2022-07-13 17:34



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




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

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