1. 程式人生 > >cxgrid中,如何根據列名或字段名取得footer值

cxgrid中,如何根據列名或字段名取得footer值

body 解決方案 cal lin 如何 eat 顯示 values tac

註意,不是根據index取得footer值
cxgrdtbv1.DataController.Summary.FooterSummaryValues[0];

------解決方案--------------------------------------------------------

Delphi(Pascal) code
  with cxGrid1DBTableView1.DataController.Summary do
    FooterSummaryValues[FooterSummaryItems.IndexOfItemLink(
    cxGrid1DBTableView1.GetColumnByFieldName(‘字段名‘))];

cxgrid動態生成footersummary 並獲得值

var f: TcxGridDBTableSummaryItem;


cx_for_mctv.OptionsView.Footer := true;
//cxGrid1DBTableView1.OptionsView.Footer := True;
f := (cx_for_mctv.DataController.Summary.FooterSummaryItems.Add) as TcxGridDBTableSummaryItem;
f.FieldName := cx_for_mctv.Columns[2].DataBinding.FieldName;

f.Column := cx_for_mctv.Columns[2];
f.Kind := skSum;

///////////////////////////////////////////////////////////////////

procedure Tform_for_cz.CreateSumFooter(cxTableView: TcxGridDBTableView;
const fieldList: string);
var
i: Integer;
f: TcxGridDBTableSummaryItem;
l: TStringList;
begin
l := TStringList.Create;
l.DelimitedText := fieldList;
l.Delimiter := ‘,‘;

cxTableView.OptionsView.Footer := True;
for i := 0 to cxTableView.ColumnCount - 1 do
begin
if l.IndexOf(cxTableView.Columns[i].DataBinding.FieldName) <> -1 then
begin
f := (cxTableView.DataController.Summary.FooterSummaryItems.Add) as TcxGridDBTableSummaryItem;
f.FieldName := cxTableView.Columns[i].DataBinding.FieldName;
f.Column := cxTableView.Columns[i];
if f.FieldName <> ‘憑證號‘ then
f.Kind := skSum
else
f.kind := skcount;
end;
end;
l.Free;
end;

View_Client.DataController.Summary.FooterSummaryValues[0],//得到值
View_Client.DataController.Summary.FooterSummaryTexts //得到顯示文字
View_Client.DataController.Summary.FooterSummarys //得到合計對象

cxgrid中,如何根據列名或字段名取得footer值