以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]指定表的数据修改写到数据日志里  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=71820)

--  作者:WUZHAN
--  发布时间:2015/7/18 18:01:00
--  [求助]指定表的数据修改写到数据日志里

指定表的数据写到数据日志里,而不是所有的表。代码如下:

If e.DataTable.Name <> "操作日志" Then
    If e.DataRow.RowState = 2 Then
    MessageBox.Show(e.DataRow.RowState)
        Return
    Else
     MessageBox.Show(e.DataRow.RowState)
        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


--  作者:有点蓝
--  发布时间:2015/7/18 19:04:00
--  
在项目事件Initialize加入代码:

For Each dt As DataTable In DataTables

    dt.GlobalHandler.BeforeSaveDataRow = True

Next

然后在 BeforeSaveDataRow 事件中加入
Select Case e.DataTable.Name
     Case "指定表1","指定表2"

      添加日志程序....

End Select
http://www.foxtable.com/help/index.html?n=0671.htm
[此贴子已经被作者于2015/7/18 19:05:45编辑过]

--  作者:WUZHAN
--  发布时间:2015/7/18 21:13:00
--  
多谢了,有点蓝老师!