以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 求目录树查找的方法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67382)

--  作者:jiskin
--  发布时间:2015/4/23 11:03:00
--  [求助] 求目录树查找的方法
有没有目录树查找的方法?
直接在目录树中查找node.text的值
主要是查找时需要下一个的功能

--  作者:Bin
--  发布时间:2015/4/23 11:04:00
--  
遍历所有节点匹配吧
--  作者:jiskin
--  发布时间:2015/4/23 11:07:00
--  
以下是引用Bin在2015/4/23 11:04:00的发言:
遍历所有节点匹配吧

 

遍历节点匹配的话 很难实现下一个的查找吧

没别的办法了么?


--  作者:Bin
--  发布时间:2015/4/23 11:08:00
--  
没有别的办法. 实现下一个也不是非常困难

用一个静态变量或者全局变量.储存这一次遍历到匹配的节点,是第几个即可

--  作者:jiskin
--  发布时间:2015/4/23 13:16:00
--  
以下是引用Bin在2015/4/23 11:08:00的发言:
没有别的办法. 实现下一个也不是非常困难

用一个静态变量或者全局变量.储存这一次遍历到匹配的节点,是第几个即可

 

BIN总,我想指定一个树的节点开始遍历其所有子节点 这样写哪里不对呢

Dim trv As WinForm.TreeView =e.Form.Controls("TreeView1")
Dim nds As WinForm.TreeNode = trv.Nodes(.Current("型号"))
For Each nd As WinForm.TreeNode In nds.AllNodes

--  作者:Bin
--  发布时间:2015/4/23 13:58:00
--  
trv.Nodes(.Current("型号"))  没有这样的写法  trv.Nodes(3)

只能用数值下标, 用字符的话,你得遍历所有节点一个个判断  

--  作者:jiskin
--  发布时间:2015/4/23 14:34:00
--  
以下是引用Bin在2015/4/23 13:58:00的发言:
trv.Nodes(.Current("型号"))  没有这样的写法  trv.Nodes(3)

只能用数值下标, 用字符的话,你得遍历所有节点一个个判断  

 

BIN总,再请教一个问题

如果一个节点的层次比较多,比如有5层

如果该节点对应表中的某一行,用刚才的遍历方法我已经能选中表中的行返回该节点的位置,那么问题来了

如果该节点的所有父节点都没有展开,那么有没有办法在我选中那个节点对应的行时,自动展开这个节点对应的所有父节点呢


--  作者:Bin
--  发布时间:2015/4/23 14:38:00
--  
可以获取父节点,然后执行ExpandAll
--  作者:jiskin
--  发布时间:2015/4/23 14:40:00
--  
以下是引用Bin在2015/4/23 14:38:00的发言:
可以获取父节点,然后执行ExpandAll

 

那样的话其他无关的但是相同层次的结构也都展开了 ……


--  作者:Bin
--  发布时间:2015/4/23 14:40:00
--  
不会啊.没懂你意思