Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
下面这段代码在帮助中找不到了? 还能用吗?
主表中可视化授权
然后在项目事件LoadUserSetting中,加入如下代码:
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
For Each dr As DataRow In DataTables("授权表").Select("用户名 = '" & User.Name & "'" )
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
需要禁止某个权限的时候,才需要在授权表加入相应的条目。例如按照上图的设置,张三看不到表A,不能编辑表B,李四则看不到表B,不能编辑表C,至于王五,比较特殊,他看不到表A的第三列,不能编辑表A的第八列。
注:模式窗口中权限表的可视化授权应在窗口的AfterLoad中写代码。
首先你得理解代码的。
窗口中的表可能有效,也可能无效。
因为授权是根据表名来的,对于副本或者SQLTable、QureryTable来说,表名是比较特别的,你在授权表中的表名也必须做相应的调整。
下载信息 [文件大小: 下载次数: ] | |
![]() |
在哪里设置了什么代码,目的是什么,并举例说明哪里不行。
这是因为窗口中的Table控件的允许编辑属性被设置为True了。
可视化授权在打开项目后执行,此时材料表却是不能编辑,但是你打开窗口后,材料表根据table控件的属性设置,重新变为只读的了。
可以这么说,帮助中可视化授权的表编辑授权,对于窗口Table无效。
但是你可以自己解决,在窗口的AfterLoad事件设置代码,根据用户名和标明,从授权表读取有关信息,来设置窗口Table的AllowEdit属性