Foxtable(狐表)用户栏目专家坐堂 → [求助]组合目录树节点内容


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

主题:[求助]组合目录树节点内容

帅哥哟,离线,有人找我吗?
新航程小何
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4786 威望:0 精华:0 注册:2014/9/17 11:34:00
[求助]组合目录树节点内容  发帖心情 Post By:2016/5/27 9:11:00 [只看该作者]

各位老师,我想实现的功能是:
1、点击第一层复选框 的时候,下面的节点全部选中(这个功能已经实现)
2、同时获取到这个节点全部的节点名称,实现的结果:第一层节点0\第二层节点1\第三层节点,第一层节点0\第二层节点1\第三层节点,第一层节点0\第二层节点1\第三层节点    (功能没有实现)

下面是我的代码:

在aftercheckNode中的代码

'复选状态修改
For Each nd As WinForm.TreeNode In e.node.AllNodes  '同步子节点选中状态
    If nd.FullPath.StartsWith(e.node.FullPath) Then
        nd.Checked = e.node.Checked
    End If
Next
If e.node.Checked = False Then '如果本次操作为清除节点选中状态
    Dim pd As WinForm.TreeNode = e.node.ParentNode '获取父节点
    Do While pd IsNot Nothing
        pd.Checked = False '清除父节点选中状态
        pd  = pd.ParentNode '继续获取上一层级的父节点
    Loop
End If
'获取查询路径
Dim flt As String=""
Dim  d1 As String
Dim  d2 As String
Dim  d3 As String
Dim trv1 As WinForm.TreeView=e.Form.controls("treeview1")
For Each nd As WinForm.TreeNode In trv1.AllNodes
    If nd.Checked And  e.node.level=2
    d1=e.node.DataRow("BaseName")
    d2=e.node.DataRow("DistrictName")
    d3=e.node.DataRow("GhName")
        flt=flt & d1 & "\" & d2 & "\" & d3 & ","  
    End If
Next
Vars("sx1")=flt
MessageBox.show(Vars("sx1"))

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4786 威望:0 精华:0 注册:2014/9/17 11:34:00
  发帖心情 Post By:2016/5/27 9:18:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:目录树.table

这是我做的例子,老师帮忙看一下
[此贴子已经被作者于2016/5/27 9:18:00编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
新航程小何
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4786 威望:0 精华:0 注册:2014/9/17 11:34:00
  发帖心情 Post By:2016/5/27 9:40:00 [只看该作者]

求助!
[此贴子已经被作者于2016/5/27 10:14:08编辑过]

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4786 威望:0 精华:0 注册:2014/9/17 11:34:00
  发帖心情 Post By:2016/5/27 10:15:00 [只看该作者]

老师,这个真心是没思路,指导一下

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/27 10:24:00 [只看该作者]

查询路径直接获取FullName或者FullPath就行啊。

 

http://www.foxtable.com/help/topics/0906.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
新航程小何
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4786 威望:0 精华:0 注册:2014/9/17 11:34:00
  发帖心情 Post By:2016/5/27 10:27:00 [只看该作者]

好的,谢谢老师,我研究一下

 回到顶部
帅哥哟,离线,有人找我吗?
新航程小何
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4786 威望:0 精华:0 注册:2014/9/17 11:34:00
  发帖心情 Post By:2016/5/27 10:50:00 [只看该作者]

老师,搞定了,多谢!
Dim flt As String=""
Dim trv1 As WinForm.TreeView=e.Form.controls("treeview1")
For Each nd As WinForm.TreeNode In trv1.AllNodes
    If nd.Checked =True
        Select Case  nd.Level       
            Case 2
                flt= flt & nd.FullPath & ","
        End Select   
    End If
Next
Vars("sx1")=flt
MessageBox.show(Vars("sx1"))

 回到顶部