Foxtable(狐表)用户栏目专家坐堂 → 求教:多选目录筛选


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

主题:求教:多选目录筛选

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


加好友 发短信
等级:幼狐 帖子:172 积分:1914 威望:0 精华:0 注册:2012/6/6 17:08:00
求教:多选目录筛选  发帖心情 Post By:2012/12/30 15:45:00 [只看该作者]

我的目录树结构是:e.Form.Controls("TreeView1").BuildTree("订单", "产品|客户|是否结帐") 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多选筛选树.table


以下代码只筛选二个节点的。麻烦帮忙修改一下,能够筛选某一产品,某一客户及是否结帐。

Dim trv As WinForm.TreeView = e.Sender
Dim flt As String
For Each nd As WinForm.TreeNode In e.node.Nodes '同步子节点选中状态
    nd.Checked = e.Node.Checked
Next
If e.node.ParentNode IsNot Nothing Then '去掉父节点选中状态
    e.node.ParentNode.Checked = False
End If
For Each nd As WinForm.TreeNode In trv.AllNodes
    If nd.Level > 0 AndAlso nd.ParentNode.Checked Then '如果父节点选中
        Continue For '跳过此节点,处理下一结点
    End If
    If nd.Checked Then
        If flt > "" Then
            flt = flt & " Or "  '注意用or而不是And
        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
[此贴子已经被作者于2012-12-30 16:37:11编辑过]

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/31 10:08:00 [只看该作者]

大概这样吧。

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


 回到顶部