Foxtable(狐表)用户栏目专家坐堂 → [讨论]目录树合并问题


  共有2022人关注过本帖平板打印复制链接

主题:[讨论]目录树合并问题

帅哥哟,离线,有人找我吗?
bashanren
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:316 积分:2899 威望:0 精华:0 注册:2009/7/25 18:29:00
[讨论]目录树合并问题  发帖心情 Post By:2019/6/5 15:52:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下: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 & "')"


 回到顶部