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


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

主题:多选筛选树请教

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


加好友 发短信
等级:童狐 帖子:250 积分:2761 威望:0 精华:0 注册:2014/3/11 12:11:00
多选筛选树请教  发帖心情 Post By:2017/3/7 17:15:00 [只看该作者]

从casestudy下打开多选筛选树;案例中复选框打勾会自动筛选出对应产品和客户明细,如果所有父子节点复选框都不打勾,则会显示所有数据明细.
那么,如果所有父子复选框都不打勾,筛选显示为空记录,怎么实现啊?

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


加好友 发短信
等级:童狐 帖子:250 积分:2761 威望:0 精华:0 注册:2014/3/11 12:11:00
  发帖心情 Post By: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

已实现.

 回到顶部