情形描述:
1.主窗口含有listview控件,双击某条记录时,打开另外一个窗口,在打开另外一个窗口之前,判定用户名称,以决定是否可编辑该条记录。
listview控件的RowActivate事件代码如下:
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
Dim vr As WinForm.ListViewRow = e.Sender.Current
If vr Is Nothing Then '如果不存在当前行,也就是内有选定任何一行
Return
End If
Dim dr As DataRow = vr.tag '获取此行对应的DataRow
Dim ps As Integer = Tables("人力资源库").FindRow(dr)
If ps >= 0 Then
Tables("人力资源库").Position = ps
Forms("人力资源详细内容窗口").Open()
End If
If Tables("人力资源库").current("姓名")<> user.name Or user.name<> "开发者" Then
Tables("人力资源库").AllowEdit = False
Else
Tables("人力资源库").AllowEdit = True
End If
重点是红色区域的代码,执行上述代码后,所有的记录即使使用“开发者"登陆都无法编辑。
曾经试着用Syscmd.Row.Lock()的方式,后来发现一旦有一个用户不具备权限后,该条记录就被锁死了,还不得不又增加解锁按钮,但是没有试成功。就有了上述通过是否可编辑来写代码,可还是不行,照样无法编辑!!
大师们给个号的建议!!谢谢!!