以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]删除子表行,父表汇总子表数据更新  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=186193)

--  作者:igewcw
--  发布时间:2023/4/12 10:15:00
--  [求助]删除子表行,父表汇总子表数据更新
父表:DataColChanged
If e.DataCol.Name = "报价单号" Then 
       e.DataRow("BOM原材未税总成本") = DataTables("报价汇总表_Table2").Compute("Sum(材料单价)", "[报价单号] = \'" & e.NewValue & "\'")
    End If

子表:DataColChanged
If e.DataCol.Name = "材料单价" Then
    Dim pr As DataRow
    pr = DataTables("报价汇总表_明细").Find("报价单号 = \'" & e.DataRow("报价单号") & "\'")
    If pr IsNot Nothing Then
        pr("原材未税总成本") = pr("原材未税总成本") + e.NewValue - e.OldValue
        End If
End If

删除子表行,父表汇总数据无法更新

--  作者:有点蓝
--  发布时间:2023/4/12 10:20:00
--  
要到删除事件处理

datarowdeleteing事件
e.DataRow("材料单价")  = nothing
    Dim pr As DataRow
    pr = DataTables("父表").Find("报价单号 = \'" & e.DataRow("报价单号") & "\'")
    If pr IsNot Nothing Then
        DataTables("父表").DataCols("报价单号").RaiseDataColChanged(pr)
        End If

--  作者:igewcw
--  发布时间:2023/4/12 10:24:00
--  
非常感谢!