以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]多列目录树代码修改 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=132466) |
-- 作者:hanzhang98 -- 发布时间:2019/3/22 13:12:00 -- [求助]多列目录树代码修改 各位老师好!根据老师们的指导,下面的“目录树代码”已能正常运行和操作。现在想在其中的第一层节点再增加一些目录树项目,比如“性别”、“婚姻状况”、“政治面貌”、“现住址”等等,新增的第一层目录树项目的第二级节点内容均为表中相应列的自身内容去除重复内容后的值(比如:“政治面貌”的第二级节点内容就是其列自身内容去重后的“中共党员、民主党派、无党派人士”)。要想实现这样的功能(也就是用目录树来实现多列内容筛选),那下面的代码需要如何修改,请老师们帮忙指导。 [此贴子已经被作者于2019/4/30 10:18:07编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/3/22 15:31:00 -- 判断一下第一层的节点的值是什么即可,如
Dim ary = e.node.fullpath.split("\\") If ary(0) = "性别" Then msgbox(ary.length) msgbox(ary(1) ElseIf ary(0) = "政治面貌" Then
else
End If
如果还不会做,具体实例发上来测试 |
-- 作者:hanzhang98 -- 发布时间:2019/3/22 17:50:00 -- 请老师帮忙指导! [此贴子已经被作者于2019/4/30 10:18:45编辑过]
|
-- 作者:hanzhang98 -- 发布时间:2019/3/22 17:57:00 -- 老师好。实例附件已上传。在3楼,请老师指导。谢谢! |
-- 作者:hanzhang98 -- 发布时间:2019/3/22 18:53:00 -- 老师好!我的意思是想将附件中的目录树做成如下面的图片中的那样!能不能实现,代码要如何改才行。谢谢! |
-- 作者:有点蓝 -- 发布时间:2019/3/22 21:20:00 -- 需要手工生成目录树,如: Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") trv.Nodes.Add("全部") Dim n As WinForm.TreeNode = trv.Nodes.Add("性别") n.Nodes.Add("男") n.Nodes.Add("女") n = trv.Nodes.Add("民族") For Each s As String In DataTables("员工信息").GetValues("民族") n.Nodes.Add(s) Next 至于点击事件就比较麻烦了 需要判断每一个点击的节点属于那个分类的,然后再根据节点名称做筛选 |
-- 作者:hanzhang98 -- 发布时间:2019/3/23 10:20:00 -- 谢谢老师指导。下面的代码运行出错(附图)应如何修改,请老师指导。谢谢! [此贴子已经被作者于2019/4/30 10:19:46编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/3/23 10:35:00 -- n = trv.Nodes.Add("岗类部门") For Each s1 As String In DataTables("员工信息").GetValues("岗位类别","","岗类编码") Dim n1 As WinForm.TreeNode = n.Nodes.Add(s1) For Each s2 As String In DataTables("员工信息").GetValues("工作部门","岗位类别=\'" & s1 & "\'","部门编码") n1.Nodes.Add(s2) Next Next
|
-- 作者:hanzhang98 -- 发布时间:2019/3/23 10:59:00 -- 谢谢老师指导!按照老师的指导,目录树已生成,但点击节点的代码又出错,还的麻烦老师指导。 [此贴子已经被作者于2019/4/30 10:19:25编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/3/23 11:17:00 -- 以后麻烦代码直接贴上来即可,不要发那种带行号的,别人改也麻烦。 |