以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 操作日志 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=90491) |
-- 作者:lk15502 -- 发布时间:2016/9/14 10:41:00 -- 操作日志 开启全局表事件,作为操作日志 \'dt.GlobalHandler.DataColChanged = True \'dt.GlobalHandler.DataRowadded = True \'dt.GlobalHandler.DataRowdeleting = True 有一个问题,关于增加行的,增加行后很多数据还没有写入表格,所以日志记录的相关信息是空的;如何能记录相关信息 DataRowadded事件代码: Dim IPAdress As System.Net.IPAddress Dim HostName As String HostName = System.Net.Dns.GetHostName \'获得本机的机器名? IPAdress = System.Net.Dns.GetHostByName(HostName).AddressList.GetValue(0) \'获得本机的IP? If e.DataTable.Name <> "数据操作日志" Then Dim dr As DataRow = DataTables("数据操作日志").AddNew() Select Case e.DataTable.name Case "入库表" dr("用户") = User.Name dr("涉及表") = e.DataTable.Name dr("涉及行") = e.DataRow("_Identify") dr("时间") = Date.Now dr("涉及编号") = e.DataRow("入库编号") dr("登录地点") = HostName & " | " & IPAdress.ToString dr("操作") = "增加行:" & e.DataRow("_identify") Case "库存表" dr("用户") = User.Name dr("涉及表") = e.DataTable.Name dr("涉及行") = e.DataRow("_Identify") dr("时间") = Date.Now dr("涉及编号") = e.DataRow("入库编号") dr("登录地点") = HostName & " | " & IPAdress.ToString dr("操作") = "增加行:" & e.DataRow("_identify") Case "出库表" dr("用户") = User.Name dr("涉及表") = e.DataTable.Name dr("涉及行") = e.DataRow("_Identify") dr("时间") = Date.Now dr("涉及编号") = e.DataRow("出库编号") & " | " & e.DataRow("入库编号") dr("登录地点") = HostName & " | " & IPAdress.ToString dr("操作") = "增加行:"& e.DataRow("_identify") End Select End If -----------入库编号,出库编号都是增加行后系统自动产生的,都没有记录,请问老师怎么解决?
|
-- 作者:有点蓝 -- 发布时间:2016/9/14 14:21:00 -- 代码写到事件BeforeSaveDataRow,用RowState判断状态 |
-- 作者:lk15502 -- 发布时间:2016/9/14 14:36:00 -- 代码直接移到事件BeforeSaveDataRow中吗?不要改代码 |
-- 作者:有点蓝 -- 发布时间:2016/9/14 14:58:00 -- 当然要改,根据e参数的不同相应改改 |