Foxtable(狐表)用户栏目专家坐堂 → TreeView附带条件筛选


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

主题:TreeView附带条件筛选

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


加好友 发短信
等级:三尾狐 帖子:672 积分:7909 威望:0 精华:0 注册:2016/6/11 11:10:00
TreeView附带条件筛选  发帖心情 Post By:2023/2/20 15:33:00 [只看该作者]

帮助里面有代码:

3、将目录树的AfterCheckNode事件代码设置为:

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

现在想实现:窗口表中有一逻辑列名为“停用”,同时窗口中有一CheckBox控件(隐藏停用),用来控制是否显示停用的记录,当这个CheckBox勾选时(隐藏停用),点击TreeView节点复选框的时候,窗口表筛查出来的记录不包含停用的。反正,当CheckBox不勾选(即显示停用),窗口表筛查出来的记录包含停用的。不知道上面的通用代码如何修改?



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


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/20 15:39:00 [只看该作者]

……
Next
if CheckBox勾选 then
If flt > "" Then
   flt = "(" & flt & ") And 停用=true"
else
  flt = "停用=true"
End If
end if
Tables("订单").Filter  = flt 

 回到顶部