Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If User.Type = UserTypeEnum.User Then
For Each dr As DataRow In DataTables("授权表").Select("分组 = '" & User.Group & "'" )
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 '权限设置
这个是项目属性里的,只是针对表,可以生效,看视频讲解,在窗口的加载后执行,老师演示效果挺好:窗口事件 afterload
在窗口事件里写的是:
Dim lst As WinForm.ListBox = e.Form.Controls("ListBox1")
lst.ComboList = _UserTable.SQLGetComboListString("Name")
If Lst.Items.Count > 0 Then
lst.SelectedIndex = 0
End If '用户管理
For Each ck As DataRow In DataTables("授权表").Select("分组 = ' " & user.Group & " ' And 表名 = '" & e.Form.name & " '")
e.form.controls(ck("列名")).Visible = Not ck("不可见")
e.form.controls(ck("列名")).Visible = Not ck("不可编辑")
Next '将窗口以表名字写入授权表控制
授权被的列是:分组,表名,列名,不可见,不可编辑
下图是视频截图
此主题相关图片如下:tim截图20180327125051.png

[此贴子已经被作者于2018/3/27 12:51:49编辑过]