Foxtable(狐表)用户栏目专家坐堂 → “数据操作日志”表中的“原行数据”列,能不能让这一列显示修改前的行数据?


  共有2350人关注过本帖树形打印复制链接

主题:“数据操作日志”表中的“原行数据”列,能不能让这一列显示修改前的行数据?

帅哥哟,离线,有人找我吗?
fengwenliuyan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
“数据操作日志”表中的“原行数据”列,能不能让这一列显示修改前的行数据?  发帖心情 Post By:2019/3/20 18:14:00 [显示全部帖子]

“数据操作日志”表中的“原行数据”列,现在现在显示的却是行修改后的内容,能不能让这一列显示修改前的行数据?



能否将操作日志记录的对象,前提设置为:
当前行数据录入保存的3天后再进行,或者,对“结单”列为true的行进行修改时才进行日志记录?
[此贴子已经被作者于2019/4/30 9:58:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
fengwenliuyan
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点甜)1、如果需要3天后再进行,你需要加入...  发帖心情 Post By:2019/3/21 10:37:00 [显示全部帖子]

这样写可以吗?

If e.DataTable.Name <> "数据操作日志" Then
    If e.DataRow.RowState = 2 Or e.DataRow("结单") = False Then
        Return
    Else
        Dim dr As DataRow = DataTables("数据操作日志").AddNew
        dr("ID") = e.DataRow("_Identify")
        dr("用户") = User.Name
        dr("涉及表") = e.DataTable.Name
        dr("涉及列") = e.DataCol.Name
        dr("涉及行") = e.DataRow("_Identify")
        dr("时间") = Date.Now
        dr("操作") = """" & e.OldValue &  """ 改成了 """ & e.NewValue & """"
        Dim str As String = ""
        For Each c As DataCol In e.DataTable.DataCols
            str += c.Name & "=" & e.DataRow(c.Name) & "|"
        Next
        dr("原行数据") = str
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
fengwenliuyan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点甜)1、如果需要3天后再进行,你需要加入...  发帖心情 Post By:2019/3/21 10:42:00 [显示全部帖子]




[此贴子已经被作者于2019/4/30 9:58:14编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
fengwenliuyan
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)str += c.Name & "=" & e.Da...  发帖心情 Post By:2019/3/21 11:27:00 [显示全部帖子]

谢谢老师!这样应该就可以了!
If e.DataTable.Name <> "数据操作日志" Then
    If e.DataRow.RowState = 2 Or e.DataRow("结单") = False Then
        Return
    Else
        Dim dr As DataRow = DataTables("数据操作日志").AddNew
        dr("ID") = e.DataRow("_Identify")
        dr("用户") = User.Name
        dr("涉及表") = e.DataTable.Name
        dr("涉及列") = e.DataCol.Name
        dr("涉及行") = e.DataRow("_Identify")
        dr("时间") = Date.Now
        dr("操作") = """" & e.OldValue &  """ 改成了 """ & e.NewValue & """"
        Dim str As String = ""
        Dim str1 As String = ""
        For Each c As DataCol In e.DataTable.DataCols
            str += c.Name & "=" & e.DataRow.OriginalValue(c.Name) & "|"
            str1 += c.Name & "=" & e.DataRow(c.Name) & "|"
        Next
        dr("原行数据") = str
        dr("改后数据") = str1
    End If
End If

 回到顶部