notemouseclick事件,写代码实现筛选,类似
e.node.checked = not e.node.checked
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 = ""
If nd.Checked Then
If val > "" Then
val = val & " or "
End If
val = val & " organName = '" & nd.text & "'"
End If
If flt > "" Then
flt = flt & " Or (" & val & ")"
Else
flt = val
End If
End If
Next