Foxtable(狐表)用户栏目专家坐堂 → 权限,还是权限的请教


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

主题:权限,还是权限的请教

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


加好友 发短信
等级:五尾狐 帖子:1176 积分:8797 威望:0 精华:0 注册:2012/4/18 16:28:00
权限,还是权限的请教  发帖心情 Post By:2015/12/21 10:50:00 [只看该作者]

大红袍老师,又麻烦你了,根据您指导的思路,我折腾了两天还是没有达到效果,逻辑总是混淆

以下代码,把窗口内的所有控件都隐藏了

我一直想实现在授权表中填入表名后勾选不可见或不可编辑,仅仅看不到TabControl里的表或表不可编辑,但是需要保留窗口内的TabControl控件和其他控件可见,因为我设计的TabControl控件作为主页的重要组成部分,里面包含有多个页面,只让某个页面下的表不可见,其他页面能正常使用。


Dim dt As DataTable = DataTables("授权表")
For Each dr As DataRow In dt.Select("表名 = '工资' and 分组名 = '" & _UserGroup & "' and 窗口 is null")
    If dr("不可见") Then
    For Each ctl As object In e.Form.Controls
        ctl.Visible = False                                   老师指导的代码是e.Form.Close   
        Next
    ElseIf dr("不可编辑") Then
        For Each c As object In e.Form.Controls
            c.Visible = False
        Next
    End If
Next

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/21 11:19:00 [只看该作者]

Dim dt As DataTable = DataTables("授权表")
For Each dr As DataRow In dt.Select("分组名 = '" & _UserGroup & "' and 窗口 is null")
    If Tables.Contains(dr("表名"))
        If dr("不可见") Then
            Tables(dr("表名")).Visible = False
        ElseIf dr("不可编辑") Then
            Tables(dr("表名")).AllowEdit = False
        End If
    End If
Next

 


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


加好友 发短信
等级:五尾狐 帖子:1176 积分:8797 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2015/12/21 11:50:00 [只看该作者]

老师,还是不能控制,还得请老师再看看我的测试件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.zip

代码我也放在了主页窗口的AFTERLOAD里面


[此贴子已经被作者于2015/12/21 11:51:53编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/21 12:03:00 [只看该作者]

Dim dt As DataTable = DataTables("授权表")
For Each dr As DataRow In dt.Select("分组名 = '" & _UserGroup & "' and 窗口 is null")
    For Each ctl As object In e.Form.Controls
        If typeof ctl Is winform.Table
            If ctl.Table.DataTable.name = dr("表名") Then
                If dr("不可见") Then
                    ctl.Visible = False                                  
                ElseIf dr("不可编辑") Then
                    ctl.Table.AllowEdit = False
                End If
                Exit For
            End If
        End If
    Next
Next


 回到顶部