以文本方式查看主题

-  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=11137)

--  作者:Tommy
--  发布时间:2011/7/9 9:38:00
--  主表更新问题?

我在子表的DataRowDeleted事件里代码如下:

e.DataRow.GetParentRow("主表")("TotalQty") = DataTables("子表").Compute("Sum(Qty)","[SONO] = \'" & e.DataRow.GetParentRow("SaleOrder")("Number") & "\'")
e.DataRow.GetParentRow("主表")("Total") = DataTables("子表").Compute("Sum(Amount)","[SONO] = \'" & e.DataRow.GetParentRow("SaleOrder")("Number") & "\'")

 

运行时报错!为空异常!怎么解决?

 

DataRowDeleted

删除行后执行,此时行已经被删除。

e参数属性: 

DataTable:获得要删除行的数据表。
DataRow:  获得要删除的行。

 

e参数的DataRow属性好像一点用处都没有!!!因为该行已经被删除,已经没有数据了!


[此贴子已经被作者于2011-7-9 9:45:41编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/7/9 10:07:00
--  

在DataRowDeleting事件设置代码。

为了保证结果正确,将字表的数量列设为0,再计算:

 

e.DataRow("Qty") = 0
e.DataRow("Amount") = 0
dim pr as datarow  = e.Dayarow.GetParentRow("主表")

pr("TotalQty") = DataTables("子表").Compute("Sum(Qty)","[SONO] = \'" & pr("SaleOrder")("Number") & "\'")
pr("Total") = DataTables("子表").Compute("Sum(Amount)","[SONO] = \'" & pr("SaleOrder")("Number") & "\'")

 


--  作者:Tommy
--  发布时间:2011/7/9 11:07:00
--  
OK!已经解决!