以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 删除问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76492) |
-- 作者:rjh4078 -- 发布时间:2015/10/30 11:17:00 -- 删除问题 测试发现 未保存的行 无法触发全局表事件 daterowdeleting 现在有个问题 父行有beforesave事件 但是子行必须要先保存 因为有sql语句要判断状态 现在添加一个父行 添加了2个子行 但是接下来删掉了父行 出现一个问题 父行没了 子行却留在了后台数据库 我在全局表事件 daterowdeleting添加了以下代码 但是无法触发 For Each re As Relation In Relations If Re.ChildTable.Name=e.DataTable.name Then DataTables(Re.childTable.Name).SQLDeleteFor(Re.ChildColumn.Name=e.DataRow(Re.ParentColumn.Name)) MessageBox.show(Re.ChildColumn.Name=e.DataRow(Re.ParentColumn.Name)) End If Next |
-- 作者:大红袍 -- 发布时间:2015/10/30 11:25:00 -- 呃,删除父行,不会触发子表的删除事件啊。
你应该判断父亲的name |
-- 作者:rjh4078 -- 发布时间:2015/10/30 11:37:00 -- 不好意思 贴错代码了 For Each re As Relation In Relations If Re.parentTable.Name=e.DataTable.name Then DataTables(Re.childTable.Name).SQLDeleteFor(Re.ChildColumn.Name=e.DataRow(Re.ParentColumn.Name)) MessageBox.show(Re.ChildColumn.Name=e.DataRow(Re.ParentColumn.Name)) End If Next 这个代码也是没有反应
|
-- 作者:大红袍 -- 发布时间:2015/10/30 11:41:00 -- 加入msgbox看是否触发了事件,代码这样写
DataTables(Re.childTable.Name).SQLDeleteFor(Re.ChildColumn.Name & "=\'" & e.DataRow(Re.ParentColumn.Name) & "\'") |
-- 作者:rjh4078 -- 发布时间:2015/10/30 11:49:00 -- 看我代码 已经加入了msgbox 没有触发该事件 |
-- 作者:大红袍 -- 发布时间:2015/10/30 11:58:00 -- 以下是引用rjh4078在2015/10/30 11:49:00的发言:
看我代码 已经加入了msgbox 没有触发该事件
全局表事件,你要开启一下的。
http://www.foxtable.com/help/topics/0671.htm
|
-- 作者:rjh4078 -- 发布时间:2015/10/30 12:00:00 -- 呃 果然高手 开错开关了 |