以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]组合目录树节点内容 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85500) |
||||
-- 作者:新航程小何 -- 发布时间: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")) |
||||
-- 作者:新航程小何 -- 发布时间:2016/5/27 9:18:00 --
这是我做的例子,老师帮忙看一下
[此贴子已经被作者于2016/5/27 9:18:00编辑过]
|
||||
-- 作者:新航程小何 -- 发布时间:2016/5/27 9:40:00 -- 求助! [此贴子已经被作者于2016/5/27 10:14:08编辑过]
|
||||
-- 作者:新航程小何 -- 发布时间:2016/5/27 10:15:00 -- 老师,这个真心是没思路,指导一下 |
||||
-- 作者:大红袍 -- 发布时间:2016/5/27 10:24:00 -- 查询路径直接获取FullName或者FullPath就行啊。
http://www.foxtable.com/help/topics/0906.htm
|
||||
-- 作者:新航程小何 -- 发布时间:2016/5/27 10:27:00 -- 好的,谢谢老师,我研究一下 |
||||
-- 作者:新航程小何 -- 发布时间: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")) |