以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  目录树节点关闭问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=126765)

--  作者:cqlwsam
--  发布时间:2018/10/28 18:26:00
--  目录树节点关闭问题
今设计一个三级目录树,需要实现:点击一级目录树节点,其他一级目录树节点关闭。点击二级目录树节点,其他一级目录树节点关闭,同时同一个一级目录树的其他二级目录树节点关闭。如何实现。如截图:


图片点击可在新窗口打开查看此主题相关图片如下:360截图17001018438069.png
图片点击可在新窗口打开查看

--  作者:cqlwsam
--  发布时间:2018/10/28 18:28:00
--  
AfterExpandNode代码:

Dim tv As  WinForm.TreeView = e.Form.Controls("TreeView1")
Select Case e.Node.Level
    Case 0
        For Each node As WinForm.TreeNode In tv.Nodes
            If node.Name <> e.Node.Name Then
                node.Collapse()
            End If
        Next
    Case 1
        Dim td As WinForm.TreeNode = e.Node.ParentNode
        For Each node1 As WinForm.TreeNode In td.Nodes
            If node1.Name = e.Node.ParentNode.Name Then
                If node1.name<> e.node.name Then
                    node1.Collapse()
                End If
            End If
        Next
End Select
[此贴子已经被作者于2018/10/29 7:06:02编辑过]

--  作者:cqlwsam
--  发布时间:2018/10/29 7:08:00
--  
搞定:代码如下:

Dim tv As  WinForm.TreeView = e.Form.Controls("TreeView1")
Select Case e.Node.Level
    Case 0
        For Each node As WinForm.TreeNode In tv.Nodes
            If node.Name <> e.Node.Name Then
                node.Collapse()
            End If
        Next
    Case 1
        Dim td As WinForm.TreeNode = e.Node.ParentNode
        For Each node1 As WinForm.TreeNode In td.Nodes
                If node1.name<> e.node.name Then
                    node1.Collapse()
                End If
        Next
End Select