以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求助 多选目录树  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=110037)

--  作者:jackyfashion
--  发布时间:2017/11/24 20:10: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
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.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


图片点击可在新窗口打开查看此主题相关图片如下:aa.jpg
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2017/11/24 20:30:00
--  
参考:http://www.foxtable.com/webhelp/scr/2503.htm

在哪个事件帮助已经说的很清楚了,可以参考CaseStudy目录下的文件: 多选筛选树.Table,打开实例文件运行看效果

--  作者:jackyfashion
--  发布时间:2017/11/24 23:21:00
--  
老师:
您好!
打开表的目录树,在没有勾选时就不显示数据,不要显示全部数据,我试了好多天,都不成功,请问在那里加代码?
恳请指教!!!
谢谢!!

--  作者:有点蓝
--  发布时间:2017/11/25 8:40:00
--  
打开示例测试有没有问题?http://www.foxtable.com/webhelp/scr/2236.htm


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看


--  作者:jackyfashion
--  发布时间:2017/11/27 22:59:00
--  
老师:
您好!
打开表的目录树,在没有勾选时显示全部数据,
能不能改成没有勾选就不显示数据?
我试了好多天,都不成功,请问在那里加代码?
恳请指教!!!
谢谢!!

--  作者:有点蓝
--  发布时间:2017/11/27 23:10:00
--  
窗口事件AfterLoad的代码

Tables("订单").Filter = "1=2"

--  作者:jackyfashion
--  发布时间:2017/11/27 23:45:00
--  
谢谢老师!!!
--  作者:jackyfashion
--  发布时间:2017/11/28 20:15:00
--  
谢谢老师!

老师:
您好!
打开表的目录树,在没有勾选时可以不显示数据了,谢谢您!
当清除Node的勾选,(没有勾选时,显示的是全部数据,)可不可以就不显示数据?
我试了好多天,都不成功,请问在那里加代码?
恳请指教!!!
谢谢!!

--  作者:有点蓝
--  发布时间:2017/11/28 21:35: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
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.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
If flt > ""
    Tables("订单").Filter = flt
Else
    Tables("订单").Filter = "1=2"
End If

--  作者:jackyfashion
--  发布时间:2017/11/29 21:19:00
--  
谢谢老师!!!
谢谢!!!