Foxtable(狐表)用户栏目专家坐堂 → 能不能创建 删除行的日志?详见代码--已解决


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

主题:能不能创建 删除行的日志?详见代码--已解决

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


加好友 发短信
等级:四尾狐 帖子:936 积分:7719 威望:0 精华:0 注册:2013/7/7 13:37:00
能不能创建 删除行的日志?详见代码--已解决  发帖心情 Post By:2013/9/22 20:53:00 [只看该作者]

能不能 创建  删除行 的 日志,就是 把 要被删除行 的所有列数据 记录下来,放在 “操作”里,
已便能查看 谁在什么时间 删除了什么东西,不光能记录行号,关键是把要被删除行的各列内容(除备注图片文件型外)记录下来

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


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

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


加好友 发短信
等级:四尾狐 帖子:936 积分:7719 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/9/22 21:07:00 [只看该作者]

顶帖图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/22 21:20:00 [只看该作者]

 如下,代码写在 项目属性->全局表事件->datacolchanged

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


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


加好友 发短信
等级:四尾狐 帖子:936 积分:7719 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/9/22 21:29:00 [只看该作者]

datacolchanged  只针对 单元格 修改 有效,删除行时不行!

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

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


加好友 发短信
等级:四尾狐 帖子:936 积分:7719 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/9/22 21:34:00 [只看该作者]

不好意思,搞错了, 不用 e.datacol,  谢谢有点甜老师的辛苦指导!

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜)?如下,代码写在 项目属性->...  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/7/2 7:40:00 [只看该作者]

以下是引用李孝春在2014-7-2 1:50:00的发言:

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

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

 

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

BeforeDeleteDataRow 和 DataRowDeleting

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

 

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


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


加好友 发短信
等级:童狐 帖子:236 积分:1881 威望:0 精华:0 注册:2013/11/7 14:40:00
  发帖心情 Post By:2015/2/11 13:28:00 [只看该作者]

那么对于删除行和新增行如何处理呢?
还有如何记录谁登录,什么时候登录呢?

谢谢!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/11 14:19:00 [只看该作者]

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

谢谢!

 

去编写DataRowAdded 和 DataRowDeleting事件;

 

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


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


加好友 发短信
等级:童狐 帖子:236 积分:1881 威望:0 精华:0 注册:2013/11/7 14:40:00
  发帖心情 Post By:2015/2/11 15:07:00 [只看该作者]

谢谢!
afteropenproject的代码应该如何写?有示例吗?




 回到顶部
总数 21 1 2 3 下一页