Foxtable(狐表)用户栏目专家坐堂 → 如何根据找到的目录树节点的路径选中该节点?


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

主题:如何根据找到的目录树节点的路径选中该节点?

帅哥哟,离线,有人找我吗?
hc-mall
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:119 积分:918 威望:0 精华:0 注册:2018/8/30 9:53:00
如何根据找到的目录树节点的路径选中该节点?  发帖心情 Post By:2020/1/10 22:43:00 [只看该作者]

如何根据找到的目录树节点的路径选中该节点?同标题!比如找到的目录树节点路径是“一级目录\二级目录\三级目录”。实在是没有默认选中找到节点的方法!脑子笨不知道怎么写代码!

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


加好友 发短信
等级:幼狐 帖子:119 积分:918 威望:0 精华:0 注册:2018/8/30 9:53:00
  发帖心情 Post By:2020/1/10 23:09:00 [只看该作者]

        
Dim spxx_spfl As WinForm.TreeView = Forms("商品信息").Controls("TreeView_SPfl")
Dim td As WinForm.TreeNode
        For Each  td In spxx_spfl.AllNodes
            If td.FullPath = txtfl Then '如果找到了目标节点
                spxx_spfl.SelectedNode = td
                td.EnsureVisible()
                e.Form.Close()
                Exit For
            End If
        Next

 回到顶部
帅哥哟,离线,有人找我吗?
hc-mall
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:119 积分:918 威望:0 精华:0 注册:2018/8/30 9:53:00
  发帖心情 Post By:2020/1/10 23:10:00 [只看该作者]

这是我现在写的代码不行,选中不了

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


加好友 发短信
等级:超级版主 帖子:106464 积分:541467 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/10 23:13:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/topics/2961.htm

简单一点可以

Dim str As String = "一级目录\二级目录\三级目录"
Dim tr As WinForm.TreeView = Forms("窗口1").Controls("TreeView1")

For Each n As winform.treenode In tr.AllNodes
    If n.Level = 2 AndAlso n.FullPath = str Then
        tr.SelectedNode = n
        Exit For
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
hc-mall
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:119 积分:918 威望:0 精华:0 注册:2018/8/30 9:53:00
  发帖心情 Post By:2020/1/10 23:25:00 [只看该作者]

好像
SelectedNode
的方法需要获取找到节点的各层级父节点的节点位置,直接指定节点选中不了!这是SelectedNode的帮助文档

TreeNode类型,返回或者设置选定的节点。

示例

选定目录树第一个节点的第二个子节点:

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
hc-mall
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:119 积分:918 威望:0 精华:0 注册:2018/8/30 9:53:00
  发帖心情 Post By:2020/1/10 23:30:00 [只看该作者]

貌似我写的虽然复杂点,但语法上没有错误,就是选中不了


 回到顶部
帅哥哟,离线,有人找我吗?
hc-mall
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:119 积分:918 威望:0 精华:0 注册:2018/8/30 9:53:00
  发帖心情 Post By:2020/1/10 23:33:00 [只看该作者]

我的代码完整应该是这样的
 Dim txtfl As String = "一级目录\二级目录\三级目录"    
Dim spxx_spfl As WinForm.TreeView = Forms("商品信息").Controls("TreeView_SPfl")
Dim td As WinForm.TreeNode
        For Each  td In spxx_spfl.AllNodes
            If td.FullPath = txtfl Then '如果找到了目标节点
                spxx_spfl.SelectedNode = td
                td.EnsureVisible()
                e.Form.Close()
                Exit For
            End If
        Next

 回到顶部
帅哥哟,离线,有人找我吗?
hc-mall
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:119 积分:918 威望:0 精华:0 注册:2018/8/30 9:53:00
  发帖心情 Post By:2020/1/10 23:35:00 [只看该作者]

窗口“商品信”选的是独立窗口

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


加好友 发短信
等级:超级版主 帖子:106464 积分:541467 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/10 23:36:00 [只看该作者]

Dim spxx_spfl As WinForm.TreeView = Forms("商品信息").Controls("TreeView_SPfl")
Dim td As WinForm.TreeNode
        For Each  td In spxx_spfl.AllNodes
            If td.FullPath = txtfl Then '如果找到了目标节点
msgbox(td.FullPath) ‘能弹出来?
                spxx_spfl.SelectedNode = td
                td.EnsureVisible()
                e.Form.Close()
                Exit For
            End If
        Next

 回到顶部
帅哥哟,离线,有人找我吗?
hc-mall
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:119 积分:918 威望:0 精华:0 注册:2018/8/30 9:53:00
  发帖心情 Post By:2020/1/10 23:40:00 [只看该作者]

msgbox(td.FullPath) ‘能弹出来?
可以弹出来的

 回到顶部
总数 12 1 2 下一页