Foxtable(狐表)用户栏目专家坐堂 → [求助] 怎么能用AllNodes直接引用指定名称的节点呢?


  共有2132人关注过本帖树形打印复制链接

主题:[求助] 怎么能用AllNodes直接引用指定名称的节点呢?

美女呀,离线,留言给我吧!
龙潭春早
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
[求助] 怎么能用AllNodes直接引用指定名称的节点呢?  发帖心情 Post By:2020/9/11 16:34:00 [只看该作者]

1、怎么能用AllNodes,直接引用指定名称的节点呢?

用AllNodes打开指定位置的节点,执行正常;
但是,用AllNodes打开指定名称的节点,却出错。
帮助中对AllNodes介绍的少。

2、代码

1) 用AllNodes打开指定位置的节点,执行正常:

Forms("窗口1").Controls("TreeView1")
tr.CollapseAll() ' 关闭所有节点
tr.SelectedNode = tr.AllNodes(18) '选择节点
tr.Select() '选择目录树( 的节点 )


2) 但是,用AllNodes打开指定名称的节点,却出错:

Forms("窗口1").Controls("TreeView1")
tr.CollapseAll() ' 关闭所有节点
tr.SelectedNode = tr.AllNodes(“表C”) '选择节点
tr.Select() '选择目录树( 的节点 )

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107323 积分:545876 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/11 16:59:00 [只看该作者]

没有这个用法。只能遍历判断名称

 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2020/9/11 17:27:00 [只看该作者]


下面这个办法,看着好像对,但是好像也不对,问题出在什么地方呢?

Dim tr As WinForm.TreeView = Forms("窗口1").Controls("TreeView1")

tr.SelectedNode.Name = "表C"

Dim nd As WinForm.TreeNode = tr.SelectedNode
Dim id As Integer = nd.index

output.show("节点的位置 id = " & id)

tr.CollapseAll()

tr.SelectedNode = tr.AllNodes(id)
tr.Select()
[此贴子已经被作者于2020/9/11 21:37:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107323 积分:545876 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/12 8:47:00 [只看该作者]

AllNodes是一个List(of treenode)集合,集合的用法参考:http://www.foxtable.com/webhelp/topics/0217.htm

nd.index指节点的位置,这个位置并不是针对所有节点,而是同一个父节点的子节点的顺序。所以AllNodes(id)来定位某一个节点基本是不正确的,建议还是遍历,无法偷懒的

 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2020/9/14 15:28:00 [只看该作者]

嗯嗯 多谢

 回到顶部