项目采用的是本组可查看、编辑本组行的方式,利用openqq独占式编辑,代码全部按照说明修改。
现在遇到的问题是,当同组的人员打开窗口时,同组的其他人员无法打开窗口,提示“XX组.XXX正在编辑......”
问题:
1、打开窗口代码中Tables("表B")用不用改成Tables("编辑窗口_table1")?
2、在客户端的对应表的StartEdit事件\BeforeSaveDataRow事件\AfterEdit事件,还用不用写代码?
谢谢!
----------------------------------------以下为使用代码:
1、表事件代码:
If e.Row("团队") <> User.Group Then '取消编辑
e.Cancel = True
End If
2、打开窗口代码
Dim r As Row = Tables("表B").Current
If QQClient.Ready = False Then '如果QQClient没有启动,则禁止编辑
PopMessage("必须启动QQClient,才能编辑此表数据!","提示",PopIconEnum.Infomation,5)
Return
End If
If r.DataRow.RowState <> DataRowState.Added Then '如果不是新增行
Dim key As String = "表B" & ":" & r("_Identify")
If tbrk.Contains(key) = False Then
Dim msg = QQClient.SendWait("?#" & Key & "#?",5) '向服务器发送请求编辑信息
If msg = "OK" Then '如果服务器返回OK
tbrk.Add(key) '在本地登记正在编辑此行
ElseIf msg > "" Then '否则显示服务器返回的信息,并取消编辑
PopMessage("无法编辑此行,因为:" & vbcrlf & msg ,"提示",PopIconEnum.Infomation,5)
Return
Else '如果服务器没有返回信息,则取消编辑
PopMessage("因服务器无响应,无法编辑此行!" ,"提示",PopIconEnum.Infomation,5)
Return
End If
End If
End If
Forms("编辑窗口").Open()