此主题相关图片如下:111.png
老师们下午辛苦!!!!
上图左侧是项目窗口中的三个目录树控件,这不太美观,想将三个目录树合并到一个目录树控件中,将分类类型用目录树的“根节点”来表示,子节点仍为三个目录树中的节点内容,不知能否实现,请老师们指导,谢谢!!其代码如下:
①窗口的AfterLoad代码如下:
e.Form.Controls("XZMCFL").BuildTree("SLDJ", "所在乡镇|问题类型")
e.Form.Controls("WTLXFL").BuildTree("SLDJ", "问题类型|所在乡镇")
e.Form.Controls("HLFL").BuildTree("SLDJ", "所属河流|问题类型")
②目录树控件的AfterCheckNode代码如下:
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("四乱主窗口_witable").Filter = flt
Tables("四乱主窗口_witable").SetColVisibleWidth("点位编号|60|所在乡镇|60|具体位置|100|所属河流|50|区级河长|130|乡级河长|60|村级河长|60|问题描述|150|普查时间|80|是否定性|50|问题类型|60|乱占|40|乱采|40|乱堆|40|乱建|40|其他|40|核查情况|150|整改计划|120|阶段效果|100|整改时限|80|责任主体|120|备注|60|是否销号|40")
'Tables("四乱主窗口_witable").Height = 60
其他两个目录树控件在上面黄色背景中的代码有变化:
flt = flt & "( 问题类型 = '" & nd.Text & "')"
Else
flt = flt & "( 问题类型 = '" & nd.ParentNode.Text & "' And 所在乡镇 = '" & nd.Text & "')"
及
flt = flt & "( 所属河流 = '" & nd.Text & "')"
Else
flt = flt & "( 所属河流 = '" & nd.ParentNode.Text & "' And 问题类型 = '" & nd.Text & "')"