Foxtable(狐表)用户栏目专家坐堂 → [讨论]从导航栏开始学习权限管理


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

主题:[讨论]从导航栏开始学习权限管理

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/19 16:51:00 [只看该作者]

小技巧处理一下

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:权限管理 (1).table



 回到顶部
帅哥哟,离线,有人找我吗?
石四
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/3/20 9:59:00 [只看该作者]

增加了一段代码:

e.Form.Controls("NavBar1").SelectedIndex=0

选定第一个页面.

 


 回到顶部
帅哥哟,离线,有人找我吗?
石四
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/3/20 10:06:00 [只看该作者]

任务栏权限应该类似吧?试试,先帖导航栏的代码留作笔记:

For Each np As WinForm.NavPage In e.Form.Controls("NavBar1").NavPages
    For Each wc As WinForm.Control In np.Children
        If Typeof wc Is WinForm.TopicBar Then
            Dim tb As WinForm.TopicBar = wc
            For Each tp As WinForm.TopicPage In tb.Pages
                tp.Visible=False
            Next
        End If
    Next
    np.Visible=False
Next

For Each dr As DataRow In DataTables("导航权限").Select("可见 = '" & User.name & "' or 可见 like '" & User.name & ",*' or 可见 like '*," & User.name & ",*' Or 可见 like '*," & User.name & "'")
    For Each np As WinForm.NavPage In e.Form.Controls("NavBar1").NavPages
        If np.ButtonText=dr("NavPages") Then
            np.Visible=True
            For Each s As String In dr("TopicPage").split(",")
                For Each wc As WinForm.Control In np.Children
                    If Typeof wc Is WinForm.TopicBar Then
                        Dim tb As WinForm.TopicBar = wc
                        For Each tp As WinForm.TopicPage In tb.Pages
                            If tp.Text=s Then
                                tp.Visible=True
                            End If
                        Next
                    End If
                Next
               
            Next
        End If
    Next
Next
e.Form.Controls("NavBar1").SelectedIndex=0


 回到顶部
帅哥哟,离线,有人找我吗?
石四
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/3/20 13:51:00 [只看该作者]

任务栏和导航栏不一样呢,没有Children属性,不能照搬上面的代码.

小白请问第一段代码改成这样行不行:

 

For Each t As TopicPage In TopicBar1

    t.Visible = False

    For Each c As TopicLinks In t

        c.Visible = False

           Next

Next


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/20 14:02:00 [只看该作者]

就是这样,你试试即可.

 回到顶部
帅哥哟,离线,有人找我吗?
石四
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/3/20 14:16:00 [只看该作者]

任务name表达?

用以下代码出现错误提示:

 

For Each tp As WinForm.TopicPage In e.Form.Controls("TopicBar1").TopicPage

tp.Visible=False
For Each lk As Topiclink In tb
                lk.Visible=False
            Next
       
   
Next

For Each dr As DataRow In DataTables("任务权限").Select("可见 = '" & User.name & "' or 可见 like '" & User.name & ",*' or 可见 like '*," & User.name & ",*' Or 可见 like '*," & User.name & "'")
   For Each tp As WinForm.TopicPage In e.Form.Controls("TopicBar1").TopicPage

        If tp.Text=dr("TopicPage") Then
            tp.Visible=True
                                  For Each lk As Topiclink In tb

                            If lk.Text= dr("Links") Then
                                lk.Visible=True
                            End If
                        Next
                    End If
                Next

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:权限管理 (1).table


图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-3-20 14:17:22编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/20 14:21:00 [只看该作者]

For Each tp As WinForm.TopicPage In e.Form.Controls("TopicBar1").TopicPage
    tp.Visible=False
    For Each lk As  WinForm.TopicLink In tb
        lk.Visible=False
    Next
Next

 回到顶部
帅哥哟,离线,有人找我吗?
石四
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/3/20 15:04:00 [只看该作者]

改了还是不行.

For Each tp As WinForm.TopicPage In e.Form.Controls("TopicBar1").TopicPage
    tp.Visible=False
    For Each lk As WinForm.TopicLink In tp
        lk.Visible=False
    Next
   
Next
For Each dr As DataRow In DataTables("任务权限").Select("可见 = '" & User.name & "' or 可见 like '" & User.name & ",*' or 可见 like '*," & User.name & ",*' Or 可见 like '*," & User.name & "'")
    For Each tp As WinForm.TopicPage In e.Form.Controls("TopicBar1").TopicPage
        If tp.Text=dr("TopicPage") Then
            tp.Visible=True
            For Each lk As WinForm.TopicLink In tp
                If lk.Text= dr("Links") Then
                    lk.Visible=True
                End If
            Next
        End If
    Next


图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/20 15:11:00 [只看该作者]

本来想帮你改一下代码.发现你的例子,空白一片.

帮你写一下,你还是不会套用. 就是个简单的类型问题. 还不会我已经快要无从下手了.  总不能重新再帮你写一遍.


For Each tp As WinForm.TopicPage In e.Form.Controls("TopicBar1").Pages
    If tp.Text=dr("TopicPage") Then
        tp.Visible=True
        For Each lk As WinForm.TopicLink In tp.Links
            If lk.Text= dr("Links") Then
                lk.Visible=True
            End If
        Next
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
石四
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/3/20 16:40:00 [只看该作者]

不好意思,写了,但是不正确导致无法保存,出现空白现象.

修改后可以保存,但是又提示运行错误,不知道哪儿的问题.

Public member 'TopicPage' on type 'TopicBar' not found.

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:权限管理 (1).table


 回到顶部
总数 28 上一页 1 2 3 下一页