Foxtable(狐表)用户栏目专家坐堂 → 三级以上目录树多选筛选树代码如何写,请求帮助


  共有11382人关注过本帖树形打印复制链接

主题:三级以上目录树多选筛选树代码如何写,请求帮助

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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/3/20 19:09:00 [显示全部帖子]

10楼已经说了: 如果全选了子选项,父选项会显示为选中。否则,清空父节点的勾选。

 

应该可以套用的,只是筛选条件增加到第四级即可。


 回到顶部
帅哥哟,离线,有人找我吗?
e-png
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/3/21 19:08:00 [显示全部帖子]

勾选的部分精简成这样可以了吧:

Dim tr As WinForm.TreeView = Forms("窗口1").Controls("TreeView1")
Dim nd As WinForm.TreeNode
nd = tr.SelectedNode

For Each ndx As WinForm.TreeNode In nd.allNodes '同步子节点选中状态
    ndx.Checked = nd.Checked
Next
If nd.ParentNode IsNot Nothing Then     '确定父节点选中状态:
    For i As Integer = nd.ParentNode.level To 0 Step -1   '

        Dim Inum As Integer = nd.ParentNode.Nodes.Count  '利用muhua老师的

        For Each ndc As WinForm.TreeNode In nd.ParentNode.Nodes
            If ndc.Checked Then
                Inum = Inum -1
            End If
        Next

        If Inum = 0 Then
            nd.ParentNode.Checked = True
            nd = nd.ParentNode
        Else
            nd.ParentNode.Checked = False
            nd = nd.ParentNode
        End If
    Next
End If

 

筛选的部分也可以简化的::::::::: 哈哈。 大家加油啊。


 回到顶部