以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]OpenQQ实现独占式编辑  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=81267)

--  作者:yupeng
--  发布时间:2016/2/23 12:33:00
--  [求助]OpenQQ实现独占式编辑
3、在客户端的对应表的BeforeSaveDataRow事件中编写代码:

If e.DataRow.RowState=DataRowState.Modified  Then
    Dim Key As String = e.DataTable.Name & ":" & e.DataRow("_Identify")
    If tbrk.Contains(Key) Then
        tbrk.Remove(Key) \'移除本地编辑登记
        QQClient.Send("!#" & Key & "#!") \'通知服务器此行已经结束 编辑
    End If
End If

 

 


图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
图片点击可在新窗口打开查看

 

代码出现错误

[此贴子已经被作者于2016/2/23 12:33:13编辑过]

--  作者:Hyphen
--  发布时间:2016/2/23 12:34:00
--  
Key变量重复定义
--  作者:yupeng
--  发布时间:2016/2/23 13:03:00
--  

这个问题解决了

但是又来了一个新问题

在窗口编辑时  

张三在编辑第5行   当张三保存关闭窗口或撤消关闭窗口后  

李四还是无法编辑此行  还是显示张三在编辑

 

 

 


--  作者:yupeng
--  发布时间:2016/2/23 13:45:00
--  

这个问题解决了

但是又来了一个新问题

在窗口编辑时  

张三在编辑第5行   当张三保存关闭窗口或撤消关闭窗口后  

李四还是无法编辑此行  还是显示张三在编辑

 


--  作者:大红袍
--  发布时间:2016/2/23 14:30:00
--  

撤销或者关闭窗口的时候,你就撤销一下。

 

Dim r As Row = Tables("表B").Current
If r.DataRow.RowState = DataRowState.Modified  Then
    Dim Key As String = "表B:" & r("_Identify")
    If tbrk.Contains(Key) Then
        tbrk.Remove(Key) \'移除本地编辑登记
        QQClient.Send("!#" & Key & "#!") \'通知服务器此行已经结束 编辑
    End If
End If