以文本方式查看主题

-  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=40531)

--  作者:jnletao
--  发布时间:2013/9/22 20:53:00
--  能不能创建 删除行的日志?详见代码--已解决
能不能 创建  删除行 的 日志,就是 把 要被删除行 的所有列数据 记录下来,放在 “操作”里,
已便能查看 谁在什么时间 删除了什么东西,不光能记录行号,关键是把要被删除行的各列内容(除备注图片文件型外)记录下来

图片点击可在新窗口打开查看此主题相关图片如下:de.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:删除日志.table


[此贴子已经被作者于2013-9-22 21:34:46编辑过]

--  作者:jnletao
--  发布时间:2013/9/22 21:07:00
--  
顶帖图片点击可在新窗口打开查看
--  作者:有点甜
--  发布时间:2013/9/22 21:20:00
--  
 如下,代码写在 项目属性->全局表事件->datacolchanged

 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:删除日志.table


--  作者:jnletao
--  发布时间:2013/9/22 21:29:00
--  
datacolchanged  只针对 单元格 修改 有效,删除行时不行!

我看了BeforeDeleteDataRow  DataRowDeleting  两个事件,都没有对datacol 做定义,无法获取  列内容。
请问老师这样怎么办呀

--  作者:jnletao
--  发布时间:2013/9/22 21:34:00
--  
不好意思,搞错了, 不用 e.datacol,  谢谢有点甜老师的辛苦指导!
--  作者:李孝春
--  发布时间:2014/7/2 1:50:00
--  回复:(有点甜)?如下,代码写在 项目属性->...
If e.DataTable.Name <> "数据操作日志" Then
    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


有点甜老师 这个代码能够实现修改数据后的原行数据全部修改后的值显示,但是对于删除行和新增行怎么不显示呢?   求解  谢谢!
[此贴子已经被作者于2014-7-2 1:50:16编辑过]

--  作者:lsy
--  发布时间:2014/7/2 7:40:00
--  
以下是引用李孝春在2014-7-2 1:50:00的发言:

有点甜老师 这个代码能够实现修改数据后的原行数据全部修改后的值显示,但是对于删除行和新增行怎么不显示呢?   求解  谢谢!
[此贴子已经被作者于2014-7-2 1:50:16编辑过]

新增和修改的行,可以在BeforeSaveDataRow中记录,删除行却不可以。

 

对于删除行,还有个矛盾:

BeforeDeleteDataRow 和 DataRowDeleting

可以记录删除的行,但是,此时并没保存,如果后来撤销了删除,日志就误记了删除行操作。

 

DataRowDeleted 已经保存了,却无法记录删除的行了。


--  作者:hawkgo
--  发布时间:2015/2/11 13:28:00
--  
那么对于删除行和新增行如何处理呢?
还有如何记录谁登录,什么时候登录呢?

谢谢!

--  作者:有点甜
--  发布时间:2015/2/11 14:19:00
--  
以下是引用hawkgo在2015/2/11 13:28:00的发言:
那么对于删除行和新增行如何处理呢?
还有如何记录谁登录,什么时候登录呢?

谢谢!

 

去编写DataRowAdded 和 DataRowDeleting事件;

 

记录谁登陆,可以在AfterOpenproject事件记录。


--  作者:hawkgo
--  发布时间:2015/2/11 15:07:00
--  
谢谢!
afteropenproject的代码应该如何写?有示例吗?