以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 在保存成功后记录被修改的记录信息 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=188714) |
-- 作者:xunxun0903 -- 发布时间:2023/10/13 10:21:00 -- 在保存成功后记录被修改的记录信息 老师 请教 场景:A录入了一行信息,如果A再编辑这条信息,我要记录他修改了列的 原值 和 新值(修改完保存成功才记录)。 我在BeforeSaveDataRow这样写合适吗? Dim dra As DataRow = DataTables("审计事件").AddNew dra("GUID") = Vars("_Guid") dra("用户") = Vars("_Username") dra("用户名") = Vars("_Chname") dra.Save Dim name As New List (Of String) From {"姓名", "用户名", "密码", "用户类型", "创建日期", "禁用", "禁用日期"} For i = 0 To 6 Dim dr As DataRow = DataTables("审计_变更明细").AddNew dr("GUID") = Vars("_Guid") dr("属性名称") = e.DataTable.DataCols(name(i)).Name If e.DataRow(name(i)) = e.DataRow.OriginalValue(name(i)) Then Else dr("变更前") = e.DataRow.OriginalValue(name(i)) dr("变更后") = e.DataRow(name(i)) End If dr.Save Next DataColChanged 是一只要一修改了就会记录 不知道怎么处理保存后才记录。 |
-- 作者:有点蓝 -- 发布时间:2023/10/13 10:29:00 -- BeforeSaveDataRow事件测试有什么问题? |
-- 作者:xunxun0903 -- 发布时间:2023/10/13 10:36:00 -- 怎么样记录只被修改过的列?未被修改过的我不记录 [此贴子已经被作者于2023/10/13 10:42:22编辑过]
|
-- 作者:有点蓝 -- 发布时间:2023/10/13 10:57:00 -- Dim name As New List (Of String) From {"姓名", "用户名", "密码", "用户类型", "创建日期", "禁用", "禁用日期"} For i = 0 To name.count- 1 If e.DataRow(name(i)) = e.DataRow.OriginalValue(name(i)) ThenElse Dim dr As DataRow = DataTables("审计_变更明细").AddNew dr("GUID") = Vars("_Guid") dr("属性名称") = e.DataTable.DataCols(name(i)).Name dr("变更前") = e.DataRow.OriginalValue(name(i)) dr("变更后") = e.DataRow(name(i)) dr.save End If Next |
-- 作者:xunxun0903 -- 发布时间:2023/10/13 11:05:00 -- 多谢! |