以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]全局表事件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94397) |
||||
-- 作者:kaiyu -- 发布时间:2016/12/22 16:39:00 -- [求助]全局表事件 我在项目的全局表事件datacolchanged 下写了如下代码 If e.DataTable.DataCols.Contains("_identify") Initialize项目表事件代码 For Each dt As DataTable In DataTables \'打开全局表删除表事件,用于记录所有表删除修改记录信息 为什么全局表事件没有运行呢,在日志表中没有发现新增数据 |
||||
-- 作者:有点色 -- 发布时间:2016/12/22 16:42:00 -- 你把这段代码,单独在命令窗口运行一次
For Each dt As DataTable In DataTables \'打开全局表删除表事件,用于记录所有表删除修改记录信息 |
||||
-- 作者:kaiyu -- 发布时间:2016/12/22 16:51:00 -- 运行过了,不行 |
||||
-- 作者:有点色 -- 发布时间:2016/12/22 16:53:00 -- 1、datacolchanged 第一行加上 msgbox(e.DataCol.name)
2、去任意一个表修改值测试。 |
||||
-- 作者:baicaocao -- 发布时间:2016/12/22 21:25:00 -- 建议用保存前验证事件。 |
||||
-- 作者:有点蓝 -- 发布时间:2016/12/23 8:27:00 -- 如果是窗口sqltable的表,在窗口afterload事件设置一下GlobalHandler |
||||
-- 作者:kaiyu -- 发布时间:2016/12/23 16:27:00 --
帮我看看在表A或表B修改,在表C为什么没有新增数据 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2016/12/23 16:32:00 -- 主键不包括再DataCols集合中,改为: If e.DataTable.baseTable.Columns.Contains("_Identify") If e.DataTable.Name <> "表C" Dim r As DataRow = DataTables("表C").AddNew r("操作类型") = "更新操作" r("操作表名") = e.DataTable.Name r("操作列名") = e.DataCol.Name r("操作行号") = e.DataRow("_identify") r("旧值") = e.OldValue r("新值") = e.NewValue r.save End If End If |
||||
-- 作者:狐狸爸爸 -- 发布时间:2016/12/23 16:33:00 -- 要学会调试分析: http://www.foxtable.com/webhelp/scr/1485.htm |