以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于父行与子行计算关系  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=130988)

--  作者:ZJZK2018
--  发布时间:2019/2/13 18:56:00
--  关于父行与子行计算关系
订单与订单明细已建立关联,我在订单明细表的DataColChanged写入下面代码,增加子表行时是对的,但有个问题,如果删除订单明细子表行时,如何自动即时减去订单父行“金额”的数据?
    Case "收款情况_收款金额"
        Dim pr As DataRow = dr.GetParentRow("订单")  \'获取当前行的父行
        Dim sum As Double
        For Each dr1 As DataRow In  pr.GetChildRows("订单明细")    \'drs  \'获取父行并历遍所有子行
            sum = sum + dr1("金额")
        Next
        pr("金额") = sum
[此贴子已经被作者于2019/2/13 18:57:02编辑过]

--  作者:有点甜
--  发布时间:2019/2/13 22:49:00
--  

datarowdeleting事件,写代码,如

 

        Dim dr As DataRow = e.dataRow

        Dim pr As DataRow = dr.GetParentRow("订单")  \'获取当前行的父行
        Dim sum As Double
        For Each dr1 As DataRow In  pr.GetChildRows("订单明细")    \'drs  \'获取父行并历遍所有子行
            sum = sum + dr1("金额")
        Next
        pr("金额") = sum - dr("金额")