以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎么加入另一个table中的表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70980)

--  作者:260964006
--  发布时间:2015/7/2 16:33:00
--  [求助]怎么加入另一个table中的表

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table
     密码0
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:操作日志.table

我怎么能把 操作日志  中的  “数据操作日志”及相关功能增加到我现有的   管理项目1   中。并具有其功能?

我是试用版哈!谢谢
请大侠帮完成  管理项目1   变更记录   。功能与   操作日志  一样。

[此贴子已经被作者于2015/7/2 16:44:45编辑过]

--  作者:大红袍
--  发布时间:2015/7/2 16:36:00
--  

 1、对应的增加表格;

 

 2、全部代码拷贝到你的项目中去。


--  作者:260964006
--  发布时间:2015/7/2 16:43:00
--  
不行啊,根本就没有了其功能
--  作者:260964006
--  发布时间:2015/7/2 16:46:00
--  

试验版可以使用代码?

代码在什么位置/


--  作者:大红袍
--  发布时间:2015/7/2 16:54:00
--  

全部代码

 

 

项目事件

 

MainTableChanged

 

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

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

 

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


--  作者:大红袍
--  发布时间:2015/7/2 16:55:00
--  

 设置代码的地方 http://www.foxtable.com/help/topics/1445.htm

 


--  作者:260964006
--  发布时间:2015/7/2 17:10:00
--  

非常感谢!


--  作者:260964006
--  发布时间:2015/7/2 17:21:00
--  
每改一个地方都提示   16   是什么问题?
--  作者:大红袍
--  发布时间:2015/7/2 18:30:00
--  
 把 MessageBox.Show 去掉就行了。