以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  执行以下目录树代码,只执行品名,供应商,采购日期执行不了。报错找不到  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=138356)

--  作者:lgz518
--  发布时间:2019/7/29 16:24:00
--  执行以下目录树代码,只执行品名,供应商,采购日期执行不了。报错找不到
 执行以下目录树代码,只执行品名,供应商,采购日期执行不了。报错找不到

e.Form.Controls("TreeView1").BuildTree("采购单", "品名|供应商|采购日期")



Dim nms As String() = {"品名","供应商","日期"} \'指定生成目录树的各列
Dim qts As String() = {"\'","","#"} \'指定将各列的值括起来的符号


\'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

--  作者:有点蓝
--  发布时间:2019/7/29 16:56:00
--  
日期还是采购日期?

e.Form.Controls("TreeView1").BuildTree("采购单", "品名|供应商|采购日期")
Dim nms As String() = {"品名","供应商","日期"} \'指定生成目录树的各列