以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]表达式列的特殊性  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=52047)

--  作者:hanxuntx
--  发布时间:2014/6/8 8:01:00
--  [求助]表达式列的特殊性

还有一个特殊情况,表达式列并非由本表的列计算得出,而是由子表数据计算得出。
例如假定订单表有个数量列,是表达式列,用于累计订单明细表的数量,其表达式为: Sum(Child.数量
)。
再假定订单表的
DataColChanged事件设置了如下代码:

 

帮助中的这一段考虑了子表列数据的变化

但是还有两种变化没考虑到

 

1.子表新增一行然后DataTable.RejectChanges

2.子表删除一行记录

 

这两种情况也会对父表数据产生影响,请问如何触发主表DataColChanged事件?


--  作者:有点甜
--  发布时间:2014/6/8 9:07:00
--  
  1、2,编写子表的Datacolchanged和DataRowDeleting事件。
--  作者:hanxuntx
--  发布时间:2014/6/8 9:35:00
--  

删除行可以编写DataRowDeleting

DataTable.RejectChanges呢?


--  作者:有点甜
--  发布时间:2014/6/8 9:51:00
--  

 测试了一下RejectChanges不触发任何事件。

 

 所以,你这能在RejectChanges后面接着写触发DataColchanged的代码。