Foxtable(狐表)用户栏目专家坐堂 → 筛选树


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

主题:筛选树

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


加好友 发短信
等级:幼狐 帖子:125 积分:1542 威望:0 精华:0 注册:2017/2/1 10:03:00
筛选树  发帖心情 Post By: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
图片点击可在新窗口打开查看




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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:51 积分:698 威望:0 精华:0 注册:2019/4/3 21:28:00
  发帖心情 Post By:2022/4/22 14:23:00 [只看该作者]

这段代码为什么无响应?


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


加好友 发短信
等级:幼狐 帖子:51 积分:698 威望:0 精华:0 注册:2019/4/3 21:28:00
  发帖心情 Post By: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


这段有死循环吗?


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/22 15:36:00 [只看该作者]

代码没有问题。请上传实例说明

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


加好友 发短信
等级:小狐 帖子:328 积分:2911 威望:0 精华:0 注册:2015/8/22 20:07:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/8/11 14:24:00 [只看该作者]

要使用2个目录树,改漏了

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

 回到顶部