以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 操作动作记录 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=124595) |
||||
-- 作者:15528900289 -- 发布时间:2018/9/10 11:03:00 -- 操作动作记录 老师你好,如何让系统自动记录某个用户对系统所做的操作,比如插入行,删除第几行,修改第几行第几列,点击某个重要的按钮等等。 |
||||
-- 作者:有点甜 -- 发布时间:2018/9/10 11:22:00 -- 看看
|
||||
-- 作者:15528900289 -- 发布时间:2018/9/10 17:37:00 -- 谢谢老师,就是这种,如何实现的,还有可以记录窗口中一些按钮的动作不,如果不好实现,也可以把按钮的动作先转换到一个表里面,然后用你这种方式来实现。 |
||||
-- 作者:有点甜 -- 发布时间:2018/9/10 17:39:00 -- 以下是引用15528900289在2018/9/10 17:37:00的发言:
谢谢老师,就是这种,如何实现的,还有可以记录窗口中一些按钮的动作不,如果不好实现,也可以把按钮的动作先转换到一个表里面,然后用你这种方式来实现。
你需要在按钮的click事件那里或者窗口的click事件那里,写代码记录。 |
||||
-- 作者:15528900289 -- 发布时间:2018/9/10 17:43:00 -- 看到了,谢谢老师,是不是在三个事件里面写了代码,老师,其它事件里面还有没有代码。 项目事件:Afteropenproject For Each dt As DataTable In DataTables dt.GlobalHandler.DataColChanged = True dt.GlobalHandler.DataRowAdded = True Next 全局表事件:Datacolchanged If e.DataTable.Name <> "数据操作日志" Then If e.DataRow.RowState = 2 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 全部表事件:Datarowadded If e.DataTable.Name <> "数据操作日志" Then Dim dr As DataRow = DataTables("数据操作日志").AddNew dr("ID") = e.DataRow("_Identify") dr("用户") = User.Name dr("涉及表") = e.DataTable.Name dr("涉及列") = Nothing dr("涉及行") = e.DataRow("_Identify") dr("时间") = Date.Now dr("操作") = "增加了一行" 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 |
||||
-- 作者:有点甜 -- 发布时间:2018/9/10 18:13:00 -- 2楼的例子,是新增行、修改行的时候,记录的。
你要看懂例子,根据你的需求,额外增加代码。 |