Problem: InvoiceHeader.Total = sum(InvoiceDetail.ItemTotal)
how to write a function to auto sum up ItemTotal
//1. add TcxGridDBTableSummaryItem
click cxGrid1DBTableView1.DataController.Summary.FooterSummaryItems FieldDesigner
and add a item
property:
Column := cxGrid1DBTableView1ItemsTotal;
FieldName := 'ItemTotal';
Kind := skSum;
//2. add OnAfterSummary event handler
click cxGrid1DBTableView1.DataController.Summary EventDesigner
procedure TForm1.cxGrid1DBTableView1DataControllerSummaryAfterSummary(
ASender: TcxDataSummary);
begin
with ASender do
begin
if VarIsNull(FooterSummaryValues[0]) or VarIsEmpty(FooterSummaryValues[0]) then
exit;
if cdsInvoiceHeader.State in [dsInsert, dsEdit] then
cdsInvoiceHeader.FindField('Total').AsFloat := FooterSummaryValues[0];
end;
end;