以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于记载输入信息的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=127385)

--  作者:tianwanshui
--  发布时间:2018/11/12 23:19:00
--  [求助]关于记载输入信息的问题
在多用户环境下,我的要求是当有用户对表格某一行的数据内容进行修改后,我需要在这一行的备注栏里记载下所修改的列名和修改前的内容,并把备注栏的背景设为红色。我在表属性的DataColChanged事件里写入下面的代码没有报错,但也没有效果。
select case
    Case "列名"
        Dim clr As Color = Color.Red
        If e.Newvalue <> e.oldvalue Then
            e.DataRow("备注").BackColor = clr
            e.DataRow("备注") = e.DataCol.name & ":" & e.oldValue
        End If
end select
又想过在表属性的AfterEdit事件里按说明书写入代码:

If e.Col.Name = "列名" Then
    e.
Row("备注") = User.Name & " " & Date.Now
End
If

但这里没办法获取到修改前的数据。

还有大佬在么,帮我看看,对怎样判断是否对数据进行了修改这里挺迷惑的。
[此贴子已经被作者于2018/11/13 0:17:17编辑过]

--  作者:tianwanshui
--  发布时间:2018/11/12 23:23:00
--  
顺便有个问题请教一下,当在窗口对表格里的数据进行修改的时候,不论是删除还是更改一次性都改不了,同样的操作还进行两次才能把数据改过来,而直接在表格里则没有这个现象,也不知道是哪里出错了。
--  作者:tianwanshui
--  发布时间:2018/11/13 0:53:00
--  
已解决,使用OriginalValue方法就好了。