以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 多选筛选树请教 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97188) |
-- 作者:fox-man -- 发布时间:2017/3/7 17:15:00 -- 多选筛选树请教 从casestudy下打开多选筛选树;案例中复选框打勾会自动筛选出对应产品和客户明细,如果所有父子节点复选框都不打勾,则会显示所有数据明细. 那么,如果所有父子复选框都不打勾,筛选显示为空记录,怎么实现啊? |
-- 作者:fox-man -- 发布时间:2017/3/7 17:29:00 -- Dim trv As WinForm.TreeView = e.Sender Dim flt As String For Each nd As WinForm.TreeNode In e.node.Nodes \'清除子节点选中状态 nd.Checked = False flt ="( 产品 = \'\')" Next If e.node.ParentNode IsNot Nothing Then \'去掉父节点选中状态 e.node.ParentNode.Checked = False flt ="( 产品 = \'\')" End If For Each nd As WinForm.TreeNode In trv.AllNodes If nd.Checked Then If flt > "" Then flt = flt & " Or " \'注意用or而不是And Else End If If nd.Level = 0 Then \'注意下面的条件都要用括号括起来 flt = flt & "( 产品 = \'" & nd.Text & "\')" Else flt = flt & "( 产品 = \'" & nd.ParentNode.Text & "\' And 客户 = \'" & nd.Text & "\')" End If End If Next Tables("订单").Filter = flt 已实现. |