谢谢老师!移植到自己的系统中,在添加了关于数据源的设置后,测试基本可用。当一人正在编辑时,另一人如再编辑会得到提示。
但在A、B两人基本同时打开项目的情况下,也有一些小问题(包括示例也存在):
1、A编辑过某行,且执行了保存,这时datatable中数据已修改过,但B的table中仍是原数据,如果其仍进行修改,然后保存,A的修改就无效,最张结果以B的为准。
这种情况,有的时候会导致数据的混乱,能否在A修改且保存后,使得B的显示数据自动更新呢?
2、原示例,缺少删除行的判断,在锁定情况下,别人仍可删除。当然,同样存在谁后保存的问题。
在BeforeDeletDatarow中写入以下代码,基本能起到作用。
If e.DataRow("编辑者") <> User.Name Then '如果编辑者不是当前用户
If e.DataRow("编辑者") Is Nothing '这句实际无效,但倒可以起到防误删作用 可能需要用NULL能判别
messagebox.Show("无人锁定仍可删除")
Else
e.Cancel = True '取消编辑
messagebox.Show("他人锁定,不可删除")
End If
End If
[此贴子已经被作者于2015/9/25 15:07:04编辑过]