要求:
1、当确认列不为空,锁定行,只有角色是“电梯审核“,且审核列为空时,可以编辑审核退回意见,只有是角色是批准,且审核列不为空时,可以编辑审批退回意见。
2、当确认列为空,除了审核退回意见列和审批退回意见列,不能编辑。其他列可以编辑。
在prepareEdit写入代码:
Select Case e.Col.name
Case "审核退回意见", "批准退回意见"
If e.Row.IsNull("确认") = False Then
If e.Col.Name = "审核退回意见" Then
If User.Isrole("电梯审核") = False Or e.Row.IsNull("审核") = False Then
e.Cancel = True
End If
Else If e.Col.Name = "批准退回意见" Then
If User.Isrole("审批") = False Or e.Row.IsNull("审核") = True Then
e.Cancel = True
End If
End If
Else
e.cancel = True
End If
Case Else
If e.Row.IsNull("确认") = False Then
e.cancel = True
End If
End Select
Dim ctl As WinForm.Control = e.Sender
If ctl.Name <> "单位查找" AndAlso ctl.Name <> "出厂编号查找" Then
If Tables("表A").Current.DataRow.SQLGetValue("确认").Gettype.Name = "DBNull" Then '确认是空值
ctl.ReadOnly = BooleanEnum.False '可以编辑
Else
ctl.ReadOnly = BooleanEnum.True '禁止编辑
End If
End If
现在我把退回意见的两个列放到窗口中。怎样
窗口的全局事件的Enter事件中设置的代码结合一起:
[此贴子已经被作者于2015/5/27 7:16:24编辑过]