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


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

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

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


加好友 发短信
等级:幼狐 帖子:168 积分:1108 威望:0 精华:0 注册:2022/10/17 15:24:00
[求助]可以多选的筛选树  发帖心情 Post By:2022/12/14 14:50:00 [显示全部帖子]

可以多选的筛选树,2、将窗口的AfterLoad事件代码设置为:

e.Form.Controls("TreeView1").BuildTree("订单", "产品|客户"),

我想要一个,不固定的列选项,即列"产品|客户"在代码中不固定,而是交付使用时任选二列或三列做节点,不知代码如何写?

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


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


加好友 发短信
等级:幼狐 帖子:168 积分:1108 威望:0 精华:0 注册:2022/10/17 15:24:00
  发帖心情 Post By:2022/12/14 15:33:00 [显示全部帖子]

在窗口中加一个CheckedComboBox1


在AfterLoad中,

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

Dim s As String = e.form.controls("CheckedComboBox1").text

e.Form.Controls("TreeView1").BuildTree("订单", s)

代替e.Form.Controls("TreeView1").BuildTree("订单", "产品|客户")

还是不行,请帮下,我不太会写代码
[此贴子已经被作者于2022/12/14 15:37:01编辑过]

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


加好友 发短信
等级:幼狐 帖子:168 积分:1108 威望:0 精华:0 注册:2022/10/17 15:24:00
  发帖心情 Post By:2022/12/14 16:22:00 [显示全部帖子]

只有窗口事件中全局事件,才有valuechanged事件,找不到CheckedComboBox1的valuechanged事件

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


加好友 发短信
等级:幼狐 帖子:168 积分:1108 威望:0 精华:0 注册:2022/10/17 15:24:00
  发帖心情 Post By:2022/12/14 16:25:00 [显示全部帖子]

能不能在我的模板里帮我写一下

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


加好友 发短信
等级:幼狐 帖子:168 积分:1108 威望:0 精华:0 注册:2022/10/17 15:24:00
  发帖心情 Post By:2022/12/14 16:44:00 [显示全部帖子]

还是不行,选项是空的

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


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

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

 回到顶部
帅哥哟,离线,有人找我吗?
jk36
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jk36
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jk36
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
总数 33 1 2 3 4 下一页