Foxtable(狐表)用户栏目专家坐堂 → [求助]可以多选的筛选树


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

主题:[求助]可以多选的筛选树

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


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

选项要您自己添加进去,在窗口设计里把所有列名添加到自定义项目里

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


加好友 发短信
等级:幼狐 帖子:168 积分:1108 威望:0 精华:0 注册:2022/10/17 15:24:00
  发帖心情 Post By:2022/12/15 14:59:00 [只看该作者]

在窗口CheckedComboBox1属性自定义项目里设计里添加列名产品|客户|第三列,只在CheckedComboBox1有显示产品|客户|第三列供选择,但TreeView1没有显示,不知怎回事?

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


加好友 发短信
等级:幼狐 帖子:168 积分:1108 威望:0 精华:0 注册:2022/10/17 15:24:00
  发帖心情 Post By:2022/12/15 15:00:00 [只看该作者]

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


在窗口CheckedComboBox1属性自定义项目里设计里添加列名产品|客户|第三列,只在CheckedComboBox1有显示产品|客户|第三列供选择,但TreeView1没有显示,不知怎回事?
[此贴子已经被作者于2022/12/15 15:00:46编辑过]

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


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

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


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


加好友 发短信
等级:幼狐 帖子:168 积分:1108 威望:0 精华:0 注册:2022/10/17 15:24:00
  发帖心情 Post By:2022/12/15 16:33:00 [只看该作者]

若改代码为:Dim nms As String() = {"产品", "客户", "第三列"} '指定生成目录树的各列 
Dim qts As String() = {"'", "'", "'"} '指定将各列的值括起来的符号,这里都是字符型,所以都是单引号 
Dim trv As WinForm.TreeView = e.Sender 
Dim flt As String 
Dim nd As WinForm.TreeNode 
For Each nd In e.node.allNodes '清除子节点的选中标记 
    nd.Checked = False 
Next 
nd = e.Node.ParentNode 
Do While nd IsNot Nothing '清除父节点的选中标记 
    nd.Checked = False 
    nd = nd.ParentNode 
Loop 
For Each nd In trv.AllNodes 
    If nd.Checked Then 
        Dim rts() As String = nd.FullPath.Split("\") 
        Dim val As String = ""
        For i As Integer = 0 To rts.length - 1
            If val > "" Then
                val = val & " And "
            End If
            val = val & nms(i) & " = " & qts(i) & rts(i) & qts(i)
        Next
        If flt > "" Then
            flt = flt & " Or (" & val & ")"
        Else
            flt = val
        End If
    End If
Next
Tables("订单").Filter = flt
则发生错误

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


加好友 发短信
等级:幼狐 帖子:168 积分:1108 威望:0 精华:0 注册:2022/10/17 15:24:00
  发帖心情 Post By:2022/12/15 16:34:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:sdfgh.zip


若TreeView1改代码为:
Dim nms As String() = {"产品", "客户", "第三列"} '指定生成目录树的各列 
Dim qts As String() = {"'", "'", "'"} '指定将各列的值括起来的符号,这里都是字符型,所以都是单引号 
Dim trv As WinForm.TreeView = e.Sender 
Dim flt As String 
Dim nd As WinForm.TreeNode 
For Each nd In e.node.allNodes '清除子节点的选中标记 
    nd.Checked = False 
Next 
nd = e.Node.ParentNode 
Do While nd IsNot Nothing '清除父节点的选中标记 
    nd.Checked = False 
    nd = nd.ParentNode 
Loop 
For Each nd In trv.AllNodes 
    If nd.Checked Then 
        Dim rts() As String = nd.FullPath.Split("\") 
        Dim val As String = ""
        For i As Integer = 0 To rts.length - 1
            If val > "" Then
                val = val & " And "
            End If
            val = val & nms(i) & " = " & qts(i) & rts(i) & qts(i)
        Next
        If flt > "" Then
            flt = flt & " Or (" & val & ")"
        Else
            flt = val
        End If
    End If
Next
Tables("订单").Filter = flt
则发生错误
[此贴子已经被作者于2022/12/15 16:34:46编辑过]

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


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

测试没有问题。提示什么错误,怎么测试?

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


加好友 发短信
等级:幼狐 帖子:168 积分:1108 威望:0 精华:0 注册:2022/10/17 15:24:00
  发帖心情 Post By:2022/12/15 21:47:00 [只看该作者]

窗口CheckedComboBox1选择产品|第三列时,在TreeView1并不能出现这二个节点,只有产品列供选择。若同时三个列都选,即产品|客户|第三列都选,则点击节点不能与表连接,找到相应的行
[此贴子已经被作者于2022/12/15 21:48:39编辑过]

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


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

第三列都没有数据,你想在节点里显示什么东西?

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


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

动态的列,下面代码也要改动态获取列

Dim nms As String() = {"产品", "客户", "第三列"}
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:4754cb.zip



 回到顶部
总数 59 上一页 1 2 3 4 5 6 下一页