퀀텀을 사용하다보면 Footer에 값을 넣거나 또는 Footer의 내용을 내가 원하는 대로 그려야할 필요가 있습니다.
이런경우 아래와 같이 사용합니다.
직접 그리는 경우
procedure TFRM_Main.cxGrid3DBTableView1CustomDrawFooterCell(
Sender: TcxGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridColumnHeaderViewInfo; var ADone: Boolean);
begin
if AViewInfo.Index = 2 then // <-- 요값은 헤더의 위치를 나타냅니다.
// footer의 위치가 아님..
begin
ADone := True;
ACanvas.FillRect( AViewInfo.Bounds, ACanvas.Brush.Color );
ACanvas.DrawTexT( '몰라', AViewInfo.Bounds, cxAlignCenter );
end;
end;
계산이 모두 끝나고 마지막에 Footerd에 값을 직접 넣거나 빼오려는 경우 아래 방법을 사용합니다.
procedure TForm1.cxGrid1DBTableView1DataControllerSummaryAfterSummary( ASender: TcxDataSummary); var I: Integer; begin cxGrid1DBTableView1.DataController.Summary.FooterSummaryValues[0] := '합계'; for i := 0 to cxGrid1DBTableView1.DataController.DataControllerInfo.DataGroups.Count - 1 do begin cxGrid1DBTableView1.DataController.Summary.GroupSummaryValues[i, 0 ] := '소계' + Inttostr( i ); cxGrid1DBTableView1.DataController.Summary.GroupSummaryValues[i, 1 ] := '소계2' + Inttostr( i ); end; end;

최신 댓글