下面这段代码在帮助中找不到了? 还能用吗?
主表中可视化授权
然后在项目事件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中写代码。