cxgrid按条件计算合计值

在Footer的第一列显示[合计:] 
加一个Summary项,Column设为Grid的第一列,Kind设为skNone 
在该Summary项的OnGetText事件中,输入: 
procedure TFormExpense.tvExpenseTcxGridDBDataControllerTcxDataSummaryFooterSummaryItems2GetText( 
Sender: TcxDataSummaryItem; const AValue: Variant; AIsFooter: Boolean; 
var AText: String); 
begin 
AText := '合计:'; 
end; 

按条件汇总: 
在TableView的DataController->Summary->FooterSummary->OnSummary事件中,输入: 
procedure TFormExpense.tvExpenseDataControllerSummaryFooterSummaryItemsSummary( 
ASender: TcxDataSummaryItems; Arguments: TcxSummaryEventArguments; 
var OutArguments: TcxSummaryEventOutArguments); 
begin 
//得到字段名 TcxDBDataSummaryItem(Arguments.SummaryItem).FieldName; 
if (ASender.DataController.Values[Arguments.RecordIndex, tvExpenseLevel.Index] > 1) //只统计Level列=1的值 
and (TcxDBDataSummaryItem(Arguments.SummaryItem).Kind = skSum) then 
OutArguments.Value := 0; //Level > 1的统计值设为0 
end;

好的代码像粥一样,都是用时间熬出来的
原文地址:https://www.cnblogs.com/jijm123/p/14333754.html