关于cxgrid的footer显示的问题

linreky 2014-04-14 07:21:44
我有把cxGrid1DBTableView1->optionsview->Footer 设为True
同时在cxGrid1DBTableView1->DataController->Summary设置FooterSummaryItems,其中colum选则要求和的列,kind选择sksum,fieldname我填的是列明
但是为什么执行后没办法把求和的结果展示出来?看来看去设置的也都没有问题啊
求大家帮帮忙


...全文
906 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hubeixiangfan123 2014-07-27
  • 打赏
  • 举报
回复
踏雪无痕 2014-07-26
  • 打赏
  • 举报
回复
第一步:cxGrid1DBTableView1->optionsview->Footer 设为True
第二步:直接点表格的Customize按钮


colum选择要求和的列,kind选择sksum,fieldname留空就可以了
varick_zhong 2014-04-15
  • 打赏
  • 举报
回复
cxGridList.GetColumnByFieldName('字段').Summary.FooterKind := skSum;
skybuilder 2014-04-15
  • 打赏
  • 举报
回复
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;这是我写的设置合计的函数,你看下对你有用不
悟影 2014-04-15
  • 打赏
  • 举报
回复
请把代码用格式工具处理一下,看着就不舒服啊。 下面的代码不完整,仅供参考,自己查找问题

      AItem := TcxGridDBTableSummaryItem(AcxGridView.DataController.Summary.FooterSummaryItems.Add);
      AItem.Column := AcxGridView.GetColumnByFieldName(AFieldName);
      AItem.Kind := SumKind;
      AItem.Format := AFormat;
http://hi.baidu.com/lemtech

5,402

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧