以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  筛选树  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=132603)

--  作者:lxmoffice
--  发布时间:2019/3/25 19:26:00
--  筛选树
老师,

您好!

我在一个表设置了两个筛选树, 一个根据"使用设备"列来筛选, 另一个根据"操作员"列来筛选. 请问有什么办法可以将两个筛选树合并成一个筛选树(如附图). 代码怎样写? 帮助文件里好像没有相关介绍.

现在的代码

Dim tv As WinForm.TreeView
tv =e.Form.Controls("TreeView1")
tv.BuildTree("生产安排", "使用设备|日期|图纸编号")
tv.Nodes.Insert("显示所有行",0)


Dim tv As WinForm.TreeView
tv =e.Form.Controls("TreeView1")
tv.BuildTree("生产安排", "操作员|日期|使用设备|图纸编号")
tv.Nodes.Insert("显示所有行",0)


图片点击可在新窗口打开查看此主题相关图片如下:筛选树.png
图片点击可在新窗口打开查看




--  作者:有点蓝
--  发布时间:2019/3/25 20:19:00
--  

Dim trv As WinForm.TreeView
trv=e.Form.Controls("TreeView1")
trv.BuildTree("生产安排", "使用设备|日期|图纸编号")
trv.Nodes.Insert("按机床",0)
Do While trv.Nodes.Count > 1
    trv.Nodes(1).MoveRight
Loop

Dim trv2 As WinForm.TreeView
trv2=e.Form.Controls("TreeView2")
trv2.BuildTree("生产安排", "操作员|日期|使用设备|图纸编号")

Dim node As WinForm.TreeNode = trv.Nodes.Add("按员工")
For i As Integer = trv2.Nodes.Count - 1 To 0 Step -1
    Dim nn As WinForm.TreeNode = trv2.Nodes(i)
    trv2.Nodes.RemoveAt(i)
    node.basenode.Nodes.Add(nn.basenode)
Next
[此贴子已经被作者于2022/8/11 15:15:09编辑过]

--  作者:ideaplayer
--  发布时间:2022/4/22 14:23:00
--  
这段代码为什么无响应?


--  作者:ideaplayer
--  发布时间:2022/4/22 15:01:00
--  
For i As Integer = trv2.Nodes.Count - 1 To 0 Step -1
    Dim nn As WinForm.TreeNode = trv2.Nodes(i)
    trv2.Nodes.RemoveAt(i)
    node.basenode.Nodes.Add(nn.basenode)
Next


这段有死循环吗?


--  作者:有点蓝
--  发布时间:2022/4/22 15:36:00
--  
代码没有问题。请上传实例说明
--  作者:njzwm
--  发布时间:2022/8/11 14:20:00
--  
我按照蓝老师的代码测试了一下,也发现一打开窗口项目就死机,忽略后面循环语句就不死机,还是请蓝老师耐心看看到底是什么原因?

Dim trv As WinForm.TreeView
trv = e.Form.Controls("TreeView1")
trv.BuildTree("表A", "类别|公司|产品")
trv.Nodes.Insert("表A", 0)
Do While trv.Nodes.Count > 1
    trv.Nodes(1).MoveRight
Loop

Dim trv2 As WinForm.TreeView
trv2 = e.Form.Controls("TreeView1")
trv2.BuildTree("表A", "公司|类别|产品")

Dim node As WinForm.TreeNode = trv.Nodes.Add("按二类")
\'For i As Integer = trv2.Nodes.Count - 1 To 0 Step - 1
\'    Dim nn As WinForm.TreeNode = trv2.Nodes(i)
\'    trv2.Nodes.RemoveAt(i)
\'    node.basenode.Nodes.Add(nn.basenode)
\'Next

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.foxdb


[此贴子已经被作者于2022/8/11 14:20:12编辑过]

--  作者:有点蓝
--  发布时间:2022/8/11 14:24:00
--  
要使用2个目录树,改漏了

trv2=e.Form.Controls("TreeView1")
改为
trv2=e.Form.Controls("TreeView2")