'复选状态修改
For Each nd As WinForm.TreeNode In e.node.AllNodes '同步子节点选中状态
If nd.FullPath.StartsWith(e.node.FullPath) Then
nd.Checked = e.node.Checked
End If
Next
If e.node.Checked = False Then '如果本次操作为清除节点选中状态
Dim pd As WinForm.TreeNode = e.node.ParentNode '获取父节点
Do While pd IsNot Nothing
pd.Checked = False '清除父节点选中状态
pd = pd.ParentNode '继续获取上一层级的父节点
Loop
End If
'获取查询路径
Dim flt As String=""
Dim d1 As String
Dim d2 As String
Dim d3 As String
Dim trv1 As WinForm.TreeView=e.Form.controls("treeview1")
For Each nd As WinForm.TreeNode In trv1.AllNodes
If nd.Checked And e.node.level=2
d1=e.node.DataRow("BaseName")
d2=e.node.DataRow("DistrictName")
d3=e.node.DataRow("GhName")
flt=flt & d1 & "\" & d2 & "\" & d3 & ","
End If
Next
Vars("sx1")=flt
MessageBox.show(Vars("sx1"))