Dim Filter As String
If e.node.Text = "加载所有数据" Then
Filter = ""
Else
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的DataRow
Select Case e.Node.Level
Case 0
Filter ="[产品] = '" & dr("产品") & "'"
Case 1
Filter ="[产品] = '" & dr("产品") & "' And [客户] = '" & dr("客户") & "'"
End Select
End If
DataTables("订单").LoadFilter = Filter
DataTables("订单").Load()
上面的是原始代码
目录树的节点会根据 CheckedComboBox选择列 内容重新生成,
下面的代码貌似有些问题报错数据不存在
Dim Values() As String = e.Form.Controls("CheckedComboBox选择列").Text.Split(",")
Dim strs() As String = e.Node.FullName.Split("\")
Dim dr As DataRow = e.Node.DataRow
Dim flt As String
For i As Integer = 0 To strs.Length - 1 ''间接获取目录树层级(Level)
For j As Integer = 0 To Values.Length - 1
If i = j Then ''只加入选定节点及以上的节点
flt + = Values(j) & "= '" & dr(Values(j)) & "' And "
End If
Next
Next
If flt > "" Then
Tables(Vars("表名")).Filter = flt.SubString(0,flt.Length - 5)
End If