以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请问老师有什么好方法在窗口表单元格准备录入内容时判断该单元格对应的datatabl单元格是否被其他客户端修改过e  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=162262)

--  作者:fvcfox
--  发布时间:2021/4/11 0:30:00
--  请问老师有什么好方法在窗口表单元格准备录入内容时判断该单元格对应的datatabl单元格是否被其他客户端修改过e
我尝试
Dim dt As String=e.Table.Name
Dim dr As Integer =e.Row.DataRow("_Identify")
Dim dc As String=e.Col.name
msgbox(Tables(dt).Rows(e.Row.Index)(dc))
msgbox(DataTables(dt).DataRows(dr)(dc) & dt & dr & dc)
对应不了表的现值与datatable表的单元格对应关系,而且有时还会出现“调用的目标发生了异常。”的运行错误


--  作者:有点蓝
--  发布时间:2021/4/11 20:51:00
--  
其实没有必要判断,在进入编辑前重新加载本行数据即可:

afteredit事件
e.row.datarow.load

如果要判断,需要通过查询数据库的方式获取单元格数据
比如

afteredit事件
dim dr as datarow = e.table.datatable.sqlfind("[_Identify]=" & e.row("_Identify"))
if dr isnot nothing andalso dr(e.col.name) <> e.row(e.col.name) then
msgbox("数据不一致" & e.row.index & "," & e.col.name)
end if