以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  临时表事件  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=73392)

--  作者:307587760
--  发布时间:2015/8/18 17:30:00
--  临时表事件
请问老师:临时表有事件么?我想在DataColChanged 里面写一个表达式
A列发生变化的时候,C列=A列*B列
可是没有写事件的地方呢?全局表的事件好像也没起作用。

--  作者:大红袍
--  发布时间:2015/8/18 17:42:00
--  

临时表建立后,要开启事件

 

DataTables("临时表").GlobalHandler.DataColChanged = True

 


--  作者:307587760
--  发布时间:2015/8/18 19:40:00
--  
非常感谢
--  作者:HappyFt
--  发布时间:2023/2/22 23:23:00
--  
为什么这样创建的临时表事件不执行

\'生成临时表
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("请购单号", GetType(String), 16)
dtb.AddDef("产品编码", GetType(String), 16)
dtb.AddDef("品名", GetType(String), 50)
dtb.AddDef("规格", GetType(String), 50)
dtb.AddDef("计量单位", GetType(String), 4)
dtb.AddDef("请购数量", GetType(Double))
dtb.AddDef("采购数量", GetType(Double))
dtb.AddDef("需求日期", GetType(Date))
dtb.AddDef("单价", GetType(Double))
dtb.AddDef("金额", GetType(Double))
dtb.AddDef("交货日期", GetType(Date))
Dim tbl2 As Table = Tables(e.Form.Name & "_采购明细")
\'开启临时表事件
DataTables(tbl2.Name).GlobalHandler.PrepareEdit = True
DataTables(tbl2.Name).GlobalHandler.DataColChanged = True

tbl2.DataSource = dtb.Build()

这种情况怎样才能让表事件执行?

谢谢!

--  作者:有点蓝
--  发布时间:2023/2/23 8:05:00
--  
不应该犯这种错误啊,临时表还没有生成,还不存在,设置有什么用!先生成临时表,再去设置临时表的各种属性
--  作者:HappyFt
--  发布时间:2023/2/23 14:29:00
--  
\'生成临时表
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("请购单号", GetType(String), 16)
dtb.AddDef("产品编码", GetType(String), 16)
dtb.AddDef("品名", GetType(String), 50)
dtb.AddDef("规格", GetType(String), 50)
dtb.AddDef("计量单位", GetType(String), 4)
dtb.AddDef("请购数量", GetType(Double))
dtb.AddDef("采购数量", GetType(Double))
dtb.AddDef("需求日期", GetType(Date))
dtb.AddDef("单价", GetType(Double))
dtb.AddDef("金额", GetType(Double))
dtb.AddDef("交货日期", GetType(Date))
\'dtb.Build()

Dim tbl2 As Table = Tables(e.Form.Name & "_采购明细")
tbl2.DataSource = dtb.Build()

\'开启临时表事件
DataTables(tbl2.name).GlobalHandler.PrepareEdit = True
DataTables(tbl2.name).GlobalHandler.DataColChanged = True

\'DataTables("统计").GlobalHandler.PrepareEdit = True
\'DataTables("统计").GlobalHandler.DataColChanged = True

因为这个临时表打开窗口生成后是要绑定到窗口表中的,所以不知道怎么设置,
如果用绑定的表名设置事件开关会出错,用原来的统计表名设置又不起作用,


--  作者:有点蓝
--  发布时间:2023/2/23 14:59:00
--  
tbl2.DataSource = dtb.BuildDataSource ()
tbl2.DataTable.GlobalHandler.PrepareEdit = True