Foxtable(狐表)用户栏目专家坐堂 → [求助]授权表问题


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

主题:[求助]授权表问题

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


加好友 发短信
等级:六尾狐 帖子:1302 积分:10502 威望:0 精华:1 注册:2018/1/20 12:40:00
[求助]授权表问题  发帖心情 Post By:2018/4/4 9:31:00 [只看该作者]

按照帮助做了一个可视化授权表。稍微加了一个“只可见”栏 ,可是怎么样同时勾选两个只可见的时候,能够正常授权呢,现在的代码勾选两个的时候,他只能显示一个。
代码如下:
Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("授权表").Select("分组名= '" & User.Group & "'" )
        If dr("只可见")=True Then
            For Each t As Table In Tables
                t.Visible = False
            Next
           If dr.IsNull("列名") Then
                Tables(dr("表名")).Visible=True
           Else
                Tables(dr("表名")).Visible=True
                 For Each c As Col In Tables(dr("表名")).Cols
                    c.Visible = False
                   Next
                 Tables(dr("表名")).Cols(dr("列名")).Visible = dr("只可见")
           End If
        Else If dr.IsNull("列名") Then
            Tables(dr("表名")).Visible = Not dr("不可见")
            Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
        Else
            Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End If
    Next
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/4 9:41:00 [只看该作者]

你勾选【只可见】的时候,【不可编辑】勾选、【不可见】取消勾选,不就是达到了同样的效果?

 

或者改成

 

 

Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If User.Type = UserTypeEnum.User Then
    For Each t As Table In Tables
        t.Visible = False
       
        For Each c As Col In t.Cols
            c.Visible = False
        Next
    Next
    For Each dr As DataRow In DataTables("授权表").Select("分组名= '" & User.Group & "'" )
        If dr("只可见")=True Then
            If dr.IsNull("列名") Then
                Tables(dr("表名")).Visible=True
                Tables(dr("表名")).AllowEdit=False
               
            Else
                Tables(dr("表名")).Visible=True
                Tables(dr("表名")).Cols(dr("列名")).Visible = True
                Tables(dr("表名")).Cols(dr("列名")).AllowEdit = False
            End If
        Else If dr.IsNull("列名") Then
            Tables(dr("表名")).Visible = Not dr("不可见")
            Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
        Else
            Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End If
    Next
End If

 

[此贴子已经被作者于2018/4/4 9:43:37编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1302 积分:10502 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/4/4 9:46:00 [只看该作者]

表有点多,所以只可见会方便点

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


加好友 发短信
等级:六尾狐 帖子:1302 积分:10502 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/4/4 10:31:00 [只看该作者]

这样写还是有问题,切换用户,或者用其他用户登录之后不加载任何数据了。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/4 10:46:00 [只看该作者]

1、参考实例

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=5&ID=23959&skin=0

 

2、不理解你要达到什么目的,请上传具体例子说明。


 回到顶部