我有把cxGrid1DBTableView1->optionsview->Footer 設為True
同時在cxGrid1DBTableView1->DataController->Summary設定FooterSummaryItems,其中colum選則要求和的列,kind選擇sksum,fieldname我填的是列明
但是為什么執行后沒辦法把求和的結果展示出來?看來看去設定的也都沒有問題啊
求大家幫幫忙
uj5u.com熱心網友回復:
procedure TDecxGridDBBandedTableView.SetColGroupInfo(var col: TDecxGridDBBandedColumn; FooterKind: TcxSummaryKind;CaseFooter:Boolean);
var tempstr1,tempstr2,tempFooterFormat,tempGroupFooterFormat,tempGroupFormat:string;
begin
if Assigned(col) then
begin
tempstr2:=EmptyStr;
if (Assigned(col.Properties)) then
begin
if (col.Properties is TcxCalcEditProperties) then
begin
tempstr2:=TcxCustomTextEditProperties(col.Properties).DisplayFormat;
end;
end;
DataController.Summary.BeginUpdate;
try
case FooterKind of
skCount:
begin
tempstr1:=('記錄數:#0條');
tempFooterFormat :=tempstr1;
tempGroupFooterFormat:=tempstr1;
tempGroupFormat :=tempstr1;
end;
skSum:
begin
tempstr1:=('總計:'+tempstr2);
tempFooterFormat :=tempstr1;
tempstr1:=('小計:'+tempstr2);
tempGroupFooterFormat :=tempstr1;
tempGroupFormat :=tempstr1;
end;
skMax:
begin
tempstr1:=('最大值:'+tempstr2);
tempFooterFormat :=tempstr1;
tempGroupFooterFormat:=tempstr1;
tempGroupFormat :=tempstr1;
end;
skMin:
begin
tempstr1:=('最小值:#'+tempstr2);
tempFooterFormat :=tempstr1;
tempGroupFooterFormat:=tempstr1;
tempGroupFormat :=tempstr1;
end;
skAverage:
begin
tempstr1:=('平均值:#'+tempstr2);
tempFooterFormat :=tempstr1;
tempGroupFooterFormat:=tempstr1;
tempGroupFormat :=tempstr1;
end;
end;
//col.Summary.GroupKind:=FooterKind; //分組后的主記錄中
if CaseFooter then
begin
col.Summary.FooterKind:=FooterKind;
if FooterKind = skNone then
col.Summary.FooterFormat := ''
else
col.Summary.FooterFormat :=tempFooterFormat;
end //最下方的狀態欄
else
begin
col.Summary.GroupFooterKind:=FooterKind; //分組后的各主記錄狀態欄
if FooterKind = skNone then
col.Summary.GroupFooterFormat := ''
else
col.Summary.GroupFooterFormat :=tempGroupFooterFormat;
end;
(*if FooterKind = skNone then
begin
col.Summary.GroupFooterFormat:= ' ';
col.Summary.FooterFormat := ' ';
end
else
begin
{if tempGroupFormat<>'' then
begin
if FooterKind = skCount then
col.Summary.GroupFormat:=tempGroupFormat
else
col.Summary.GroupFormat:=col.Caption+' '+tempGroupFormat;
end;}
col.Summary.GroupFooterFormat:=tempGroupFooterFormat;
col.Summary.FooterFormat :=tempFooterFormat;
end; *)
finally
DataController.Summary.EndUpdate;
end;
end;
end;這是我寫的設定合計的函式,你看下對你有用不
uj5u.com熱心網友回復:
cxGridList.GetColumnByFieldName('欄位').Summary.FooterKind := skSum;uj5u.com熱心網友回復:
請把代碼用格式工具處理一下,看著就不舒服啊。下面的代碼不完整,僅供參考,自己查找問題
AItem := TcxGridDBTableSummaryItem(AcxGridView.DataController.Summary.FooterSummaryItems.Add);
AItem.Column := AcxGridView.GetColumnByFieldName(AFieldName);
AItem.Kind := SumKind;
AItem.Format := AFormat;
http://hi.baidu.com/lemtech
uj5u.com熱心網友回復:
第一步:cxGrid1DBTableView1->optionsview->Footer 設為True第二步:直接點表格的Customize按鈕


colum選擇要求和的列,kind選擇sksum,fieldname留空就可以了
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/104516.html
標籤:VCL組件開發及應用
上一篇:求一個遍歷演算法
下一篇:D2007如何安裝Raize 6
