此主题相关图片如下:qq截图未命名.jpg
表中,DataColChanged 事件代码如下
Select Case e.DataCol.Name
Case "是否有管理责任"
if e.DataRow.IsNull("是否有管理责任") = False Then
if e.DataRow("是否有管理责任") = "是" then
Tables("表A").AddNew(1)
Dim drs As List(Of DataRow) = DataTables("表A").Select("")
For n As integer = 0 To drs.Count - 1
If n > 0 Then
drs(n)("姓名") = drs(n-1)("直接上司")
drs(n)("失职扣分") = drs(n-1)("失职扣分")*drs(n-1)("上司责任比例")
drs(n)("工作内容") = drs(n-1)("姓名") & drs(n-1)("工作内容")
End If
Next
end if
end if
End Select
疑问:两人同时操作时,会不会有复制错误的可能?
假设:A操作者正在输入 第1行,此时 _Identify = 1
B操作者正在输入 第2行,此时 _Identify = 2
当 A 在 “是否有管理责任" 列中输入 "是”,执行上面命令。新增一行。_Identify = 3 ,,,,drs(n-1) 不是等于2了吗??
我的理解是 复制的数据就不是A操作者的了。而是B操作者的数据了。。
怎么样解决这种问题的出现?
[此贴子已经被作者于2010-6-30 12:06:36编辑过]