Foxtable(狐表)用户栏目专家坐堂 → [求助]这个复杂的目录树授权,能实现吗!


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

主题:[求助]这个复杂的目录树授权,能实现吗!

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/23 11:49:00 [显示全部帖子]


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/23 12:10:00 [显示全部帖子]

mark 目录树授权

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:目录树授权.rar


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/23 12:16:00 [显示全部帖子]

 看4楼。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/23 12:17:00 [显示全部帖子]

目录树全选

Dim nd,nd1 As  WinForm.TreeNode
nd = e.node
If nd.Nodes.Count > 0
    For Each nd1 In nd.AllNodes
        nd1.Checked = nd.Checked
    Next
End If
If e.node.Checked = False
    Do While  nd.parentnode IsNot Nothing
        nd = nd.parentnode
        If nd.Nodes.Count > 0
            For i As Integer = 0 To nd.Nodes.Count -1
                If nd.Nodes(i).Checked = True
                    Exit Do
                End If
                If i = nd.Nodes.Count -1
                    nd.Checked = False
                End If
            Next
        End If
    Loop
Else
    Do While  nd.parentnode IsNot Nothing
        nd = nd.parentnode
        nd.Checked = True
    Loop
End If


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/23 14:47:00 [显示全部帖子]

 Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
Dim nd1 As WinForm.TreeNode = trv1.SelectedNode
Dim dr As DataRow
If nd1.Level = 2 Then
    dr = DataTables("YHB").Find("YHB_DWBHMC = '" & nd1.ParentNode.ParentNode.Name & "' And YHB_BMBHMC = '" & nd1.ParentNode.Name & "' And YHB_YHBHMC = '" & nd1.Name & "'")
End If
If dr IsNot Nothing Then
    Dim nd As WinForm.TreeNode = e.node
    If e.node.Checked = False
        For Each tnd As WinForm.TreeNode In nd.AllNodes
            If tnd.Checked Then
                msgbox("不能取消")
                e.node.Checked = True
                Return
            End If
        Next
        Do While nd.parentnode IsNot Nothing
            nd = nd.parentnode
            If nd.Nodes.Count > 0
                For i As Integer = 0 To nd.Nodes.Count -1
                    If nd.Nodes(i).Checked = True
                        Exit Do
                    End If
                    If i = nd.Nodes.Count -1
                        nd.Checked = False
                    End If
                Next
            End If
        Loop
    Else
        Do While  nd.parentnode IsNot Nothing
            nd = nd.parentnode
            nd.Checked = True
        Loop
    End If
    Dim nms As String
    For Each nd2 As WinForm.TreeNode In trv2.AllNodes
        If nd2.Checked  Then
            If nd2.Level = 0 Then
                nms  = nms & "," & nd2.Name
            ElseIf nd2.Level = 1 Then
                nms  = nms & "," & nd2.ParentNode.Name & "\" & nd2.Name
            ElseIf nd2.Level = 2 Then
                nms  = nms & "," & nd2.ParentNode.ParentNode.Name & "\" & nd2.ParentNode.Name & "\" & nd2.Name
            ElseIf nd2.Level = 3 Then
                nms  = nms & "," & nd2.ParentNode.ParentNode.ParentNode.Name & "\" & nd2.ParentNode.ParentNode.Name & "\" & nd2.ParentNode.Name & "\" & nd2.Name
            Else
            End If
        End If
    Next
    If nms > "" Then
        dr("YHB_YHQX") = nms .Trim(",")
    Else
        dr("YHB_YHQX") = Nothing
    End If
End If

 回到顶部