请教老师,下面代码写在窗口的AFTERLOAD,窗口中的表通过授权表进行权限管控后,整个表控件都不能使用被锁住了,能否通过授权表进行权限控制后,不能编辑窗口中的表,但能使用鼠标点击需要的表当前行进行阅览。
For Each dr1 As DataRow In DataTables("授权表").Select("',' + 分组名 + ',' like '%," & _UserGroupp & ",%' And 窗口 = '" & e. Form.Name & "'")
Dim ctls() As String = dr1("控件").split(",")
For Each c As String In ctls
e.Form.Controls(c).Enabled = Not dr1("不可见")
e.Form.Controls(c).Enabled = Not dr1("不可编辑")
Next
Next
另外,如果不使用授权表,在窗口的全局事件的ENTER写入下面代码不能实现权限控制,其他人依据能编辑
Dim ctl As WinForm.Control = e.Sender
Select Case ctl.BindingField
Case "项目策划书.项目编号","项目策划书.项目名称","项目策划书.电压等级","项目策划书.计划开始时间","项目策划书.计划完成时间","项目策划书.项目经理","项目策划书.编制日期","项目策划书.编制人员"
If _UserGroupp = "副总" Then
ctl.ReadOnly = BooleanEnum.False '允许编辑
Else
ctl.ReadOnly = BooleanEnum.True '禁止编辑
End If
End Select