如果按帮助里的用OpenQQ实现独占式编辑来使用,开发版的是不是也是限制最多20个用户在线编辑啊,如果从以前独占式方式改用OpenQQ实现独占式编辑的话,是不是要买高级开发版或永久开发版,如下图:
客户端的设计1、在客户端项目的全局代码中,加入如下代码:
Public
tbrk
As
new
List(of
String)
tbrk是一个集合,用于记录当前用户正在编辑的行,接下来编码的时候,我们用表名加上行的主键值来表示某行。
2、在客户端的对应表的StartEdit事件中编写代码:
Dim
r
As
Row = e.Table.Current
If
r.DataRow.RowState = DataRowState.Added
Then
'新增行正常编辑
Return
End
If
If
QQClient.Ready = False
Then
'如果QQClient没有启动,则禁止编辑
PopMessage("必须启动QQClient,才能编辑此表数据!","提示",PopIconEnum.Infomation,5)
e.Cancel = True
Return
End
If
Dim
key
As
String = e.Table.DataTable.Name &
":"
&
r("_Identify")
If
tbrk.Contains(key) Then
'如果 本人之前已经编辑此行,则正常编辑
Return
Else
'如果 本人之前没有编辑此行
Dim
msg = QQClient.SendWait("?#"
&
Key
&
"#?",5)
'向服务器发送请求编辑信息
If
msg = "OK"
Then
'如果服务器返回OK
tbrk.Add(key)
'在本地登记正在编辑此行
ElseIf
msg > ""
Then
'否则显示服务器返回的信息,并取消编辑
PopMessage("无法编辑此行,因为:"
&
vbcrlf
&
msg ,"提示",PopIconEnum.Infomation,5)
e.Cancel = True
Else
'如果服务器没有返回信息,则取消编辑
PopMessage("因服务器无响应,无法编辑此行!" ,"提示",PopIconEnum.Infomation,5)
e.Cancel = True
End
If
End
If