以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  BeforeSaveDataRow没有触发  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=193425)

--  作者:newsun2k
--  发布时间:2024/9/12 14:18:00
--  BeforeSaveDataRow没有触发
我使用了GlobalHandler.BeforeSaveDataRow = True 
然后在全局表的BeforeSaveDataRow中设置了表的校验代码。
然后通过dr.addrow新增一条数据,我发现表自己的BeforeSaveDataRow触发了,
全局表的BeforeSaveDataRow没有被触发,这是什么原因?

--  作者:有点蓝
--  发布时间:2024/9/12 14:20:00
--  
GlobalHandler.BeforeSaveDataRow = True 放在什么事件?这个表是临时表还是窗口表?
--  作者:newsun2k
--  发布时间:2024/9/12 14:26:00
--  
GlobalHandler.BeforeSaveDataRow = True放在按钮中,打开新窗口时设置的,表是窗口表,按下面的代码加载的。
Dim tbl As WinForm.Table
tbl = e.Form.CreateTable("Table1", Vars("fsDangQianB"),False)

--  作者:有点蓝
--  发布时间:2024/9/12 14:37:00
--  
放到添加表控件的代码之后

tbl = e.Form.CreateTable("Table1", Vars("fsDangQianB"),False)
……
e.Form.AddControl(tbl)
tbl.table.datatable.GlobalHandler.BeforeSaveDataRow = True

--  作者:newsun2k
--  发布时间:2024/9/12 14:41:00
--  
加了,没起作用。
Dim tbl As WinForm.Table
Dim pnlTable As WinForm.Panel = e.Form.Controls("pnlTable")
tbl = e.Form.CreateTable("Table1", Vars("fsDangQianB"),False)
tbl.SetBounds(0, 0, pnlTable.width, pnlTable.height)
e.Form.Controls("pnlTable").AddControl(tbl)
tbl.table.datatable.GlobalHandler.BeforeSaveDataRow = True
tbl.tabindex = 0
tbl.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or  System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right Or System.Windows.Forms.AnchorStyles.Bottom), System.Windows.Forms.AnchorStyles)

--  作者:有点蓝
--  发布时间:2024/9/12 15:00:00
--  
我测试没有问题,请上传实例说明