Foxtable(狐表)用户栏目专家坐堂 → 可视化授权问题


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

主题:可视化授权问题

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19396 威望:0 精华:1 注册:2008/9/12 9:19:00
可视化授权问题  发帖心情 Post By:2009/6/23 8:56:00 [只看该作者]

现有A表,A明细表和A.A明细表,可视化授权对A.A明细表无效。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/6/23 9:14:00 [只看该作者]

既然是代码,那么几乎是随心所欲的:

For Each t As Table In Tables '显示所有表和列
    t.Visible = True
    t.AllowEdit = true
    For Each c As Col In t.Cols
        c.Visible = True
        c.AllowEdit = True
    Next
Next
Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If  User.Type <> UserTypeEnum.User Then
    Return
End If
For Each dr As DataRow In DataTables("授权表").Select("用户名 = '" & User.Name & "'" )
    If dr.IsNull("列名") Then
        For each t As Table In Tables
            If t.DataTable.Name = dr("表名") Then
                t.Visible = Not dr("不可见")
                t.AllowEdit = Not dr("不可编辑")
            End If
        Next
    Else
        For each t As Table In Tables
            If t.DataTable.Name = dr("表名") Then
                For Each c as Col In t.Cols
                    If c.Name = dr("列名") Then
                        c.Visible = Not dr("不可见")
                        c.AllowEdit = Not dr("不可编辑")
                    End If
                Next
            End If
        Next
    End if
Next

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19396 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2009/6/23 11:13:00 [只看该作者]

我就是用你的代码才出现上述问题

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/6/23 11:13:00 [只看该作者]

我二楼的代码和原来不同了,替换原来的即可对关联表有效。

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19396 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2009/6/23 11:35:00 [只看该作者]

对管联表的隐藏列都有效,但对关联表的不可编辑,有的有效,有的无效。

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/6/23 11:49:00 [只看该作者]

以下是引用实话实说在2009-6-23 11:35:00的发言:
对管联表的隐藏列都有效,但对关联表的不可编辑,有的有效,有的无效。

如果这样的话,需要传个实例上来看看,通用的代码有时候需要个别修正,有时候可能是因为有其他的代码“干扰”


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19396 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2009/6/23 13:35:00 [只看该作者]

谢谢,我已经找到冲突的代码

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19396 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2009/6/23 14:57:00 [只看该作者]

有个问题:现有材料仓,材料仓明细和关联表材料仓.材料仓明细三个表,我在项目属性里设置:
    Tables("材料仓明细").AllowEdit = False
    Tables("材料仓.材料仓明细").AllowEdit = True
可以控制明细表的编辑。(只能在关联状态下编辑)
    但在可视化授权中是否也要分别授权?

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19396 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2009/6/23 15:04:00 [只看该作者]

还有,你的代码里是否能不考虑列隐藏设置,否则列隐藏设置太多。
我先前隐藏的列都显示出来,要一个一个的设置隐藏,太麻烦。

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/6/23 18:08:00 [只看该作者]

回8楼:也要分别授权
回9楼:那就把那一段关于隐藏列的代码删掉试试就知道了


 回到顶部
总数 11 1 2 下一页