DBGridEh Footer的设置和使用

原创 2016年03月05日 15:09:42

DBGridEh Footer的设置和使用

 

    DBGridEh拥有Foote功能r,极大地方便用户。能通过在DBGridEh的底部增加Footer行,可以显示相关提示字符和字段的(合计、平均值、行数等)功能,以及其它特殊的统计要求。操作如下:

    一、语句说明

    1、设置Footer行数

DBGrideh1.FooterRowCount:=1; // 定义行数

    2、增加Footer

DBGridEh1.Columns[0].Footers.Add; // 加入Footer首行

DBGridEh1.Columns[0].Footers.Add; // 加入Footer次行

    3、删除Footer

DBGridEh1.Columns[0].Footers.Delete(1); // 删除Footer

    4、Sum合计操作

DBGridEh1.SumList.Active:=True; // 合计操作

DBGridEh1.SumList.Active:=False; // 取消合计操作

    5、Footer显示颜色

DBGridEh1.FooterFont.Color:=clRed; // 字体色

DBGridEh1.FooterColor := clYellow; // 背景色

    6、Footer数据类型

DBGrideh1.Columns[0].Footer.ValueType:=fvtStaticText; //  定义Foolter数据类型

    7、Footer显示样式

DBGrideh1.Columns[0].Footer.Alignment:=tacenter;        // 标题字符对齐方式

   taRightJustify  // 右对齐

   taLeftJustify  // 左对齐

   taCenter // 居中对齐

    8、Footer数据类型

DBGrideh1.Columns[0].Footer.ValueType:=fvtStaticText; // 定义Foolter数据类型

TFooterValueType = (fvtNon, fvtSum, fvtAvg, fvtCount, fvtFieldValue, fvtStaticText);

    fvtNon // 无

    fvtSum // 合计数

   fvtAvg //  平均值

   fvtCoun // 行数

   fvtFieldValue // 字段数据

   fvtStaticText) // 静态文本

   9、Footer数据显示格式

DBGrideh1.Columns[7].Footer.DisplayFormat:='#0.00'; // 显示格式

DBGrideh1.Columns[7].Footer.DisplayFormat:='###,###,##0.00'; // 显示格式化

   10、读取Footer的值

   通过函数 DBGridEh1.GetFooterValue(行数,DBGridEh1.Columns[n]))获取。 第1个参数:Foolter行数:0..n 。第2个参数TColumns类型,Columns[n]中的n,是列数0..ount-1。例: 

FloatValue:=StrToFloat(DBGridEh1.GetFooterValue(0,DBGridEh1.Columns[7])); // 参数0,Footer的第1行, Columns[7]第8列的Sum值


    二、实用语句

   1、加入Footer

DBGrideh1.FooterRowCount:=1; // 定义合计化为 1行

DBGrideh1.SumList.Active:=True; // 确定使用合计 列

DBGridEh1.FooterFont.Color:=clRed; // 字体色
DBGridEh1.FooterColor := clYellow; // 背景色

    2、Footer加入字符Column

如:设置第1列,在Footer显示 “合计”字符

DBGrideh1.Columns[0].Footer.ValueType:=fvtStaticText; // 定义合计标题类型

DBGrideh1.Columns[0].Footer.Value:='合计'; // 合计标题显示字符

DBGrideh1.Columns[0].Footer.Alignment:=tacenter; // 标题字符对齐方式

DBGrideh1.Columns[0].Footer.Color:= clBlue;

    3、Footer加入合计Column

如,设置第8列,作为合计字段

DBGrideh1.Columns[7].Footer.ValueType := fvtSum; // 合计列的类型

DBGrideh1.Columns[7].Footer.DisplayFormat:='#0.00'; // 格式化

DBGrideh1.Columns[7].Footer.Alignment := taRightJustify; // 设置对齐方式

    4、Footer取列的平均值

如,设置第5列flooter,作为平均值

DBGrideh1.Columns[4].Footer.ValueType := fvtAvg;  //  平均值

DBGrideh1.Columns[4].Footer.DisplayFormat:='#0.00'; // 格式化

DBGrideh1.Columns[4].Footer.Alignment := taCenter; // 设置对齐方式


    三、事件

    1、OnShow事件初始化(设置)Footer

procedure TFrom1.OnShow(Sender: TObjec);

begin

// 设置Footer

  DBGridEh1.Flat:=True;

  DBGridEh1.FooterRowCount:=2; // Footer行数

  DBGridEh1.FooterColor:=clYellow; // 背景色

  DBGridEh1.FooterFont.Color:=clRed; // 前景色

  DBGridEh1.Columns[0].Footers.Add; // 加入Footer首行

// 设置首行第1列

  DBGridEh1.Columns[0].Footers[0].ValueType:=fvtStaticText; // 显示文本

  DBGridEh1.Columns[0].Footers[0].Value:='合计';

  DBGridEh1.Columns[0].Footers[0].Alignment:=taCenter; // 中心对齐

  DBGridEh1.Columns[0].Footers.Add; // 加入Footer次行

// 设置首行第2列

  DBGridEh1.Columns[0].Footers[1].ValueType:=fvtCount; // 计数

  DBGridEh1.Columns[0].Footers[1].FieldName:='编号'; // 字段名

  DBGridEh1.Columns[0].Footers[1].Alignment:=taCenter; // 中心对齐

  DBGridEh1.Columns[3].Footers.Add; // 加入首行第4列

// 设置首行第4列

  DBGridEh1.Columns[3].Footers[0].ValueType:=fvtSum; // 数据类型:合计

  DBGridEh1.Columns[3].Footers[0].FieldName:='金额'; // 字段名

  DBGridEh1.Columns[3].Footers[0].DisplayFormat:='#,###,###.00'; // 显示格式

  DBGridEh1.Columns[3].Footers.Add; // 加入次行第4列

// 设置次行第4列

  DBGridEh1.Columns[3].Footers[1].ValueType:=fvtFieldValue; // 数据类型:字段值

  DBGridEh1.Columns[3].Footers[1].FieldName:='账号'; // 字段名

  DBGridEh1.Columns[3].Footers[1].Font.Style:=[fsBold]; // 文字格式

  DBGridEh1.Columns[3].Footers[1].Font.Color:=clBlue; // 文字尺寸

  DBGridEh1.SumList.Active:=True; // 确定 统计合计

end;

2、GetFooterParams事件,动态修改背景、字体颜色和Cell颜色

procedure TFrom1.DBGridEh1GetFooterParams(Sender: TObject; DataCol,Row: Integer; Column: TColumnEh; AFont: TFont; var Background: TColor;

var Alignment: TAlignment; State: TGridDrawState; var Text: String);

begin

  if Column.Index=7 then // 通过列名访问

// if Column.Field.FieldName='金额' then // 通过字段名访问

  Begin

    if Text<>'' then

    if StrtoFloat(Text)>1000 then

    begin

      Column.Color:=clRed; // 修改Column的Cell列的背景色

      Column.Font.Color:= clBlue; // 修改Column的Cell列的字符色

      Column.Footer.Color:= clBlue; // 修改Column的Footer的背景色

      Column.Footer.Font.Color:= clRed; // 修改Column的Footer的字符色

    End

    else begin

      Column.Color:=clBlue;

      Column.Font.Color:= clRed;

      Column.Footer.Color:= clRed;

      Column.Footer.Font.Color:= clBlue;

    end;

  end;

end;

DBGridEh设置固定列,用于统计记录数和平均数、总和

        DBGridEh1.FooterRowCount:=1;        DBGridEh1.SumList.Active:=True;        DBGridEh1.FootCol...
  • crazycock
  • crazycock
  • 2004年10月27日 11:08
  • 3645

DBGridEH 中如何获取合计列的数据信息

GetFooterValue(Row:Integer;Column:TColumnEh):String DBGridEH1.GetFooterValue(1,DBGridEH1.Columns[0]...
  • yuebao353981348
  • yuebao353981348
  • 2013年10月30日 11:28
  • 1417

dbGridEh合计不更新的问题

有时候表格中添加、删除、更新记录时,统计列的合计有所变化,但下面的SumValue却不变化,解决办法有一个,在变化后写入这个语句:DBGridEh1.SumList.RecalcAll;...
  • hank5658
  • hank5658
  • 2010年11月19日 10:09
  • 2446

DBGridEh的表中表设置

DBGridEh的表中表设置步骤 在进行数据呈现时,表中表的显示方式也是一种常用的主从表显示类型,DBGridEh控件在这方面的表现是相当优秀的,它不需要任何代码就可以实现该功能。 首先比较重要的是打...
  • js0001
  • js0001
  • 2013年11月29日 11:50
  • 1475

DBGridEh导出功能详解

DBGridEh导出功能详解(SaveDBGridEhToExportFile说明) ---   经常有用户要求数据导出,对此,我们一直用最原始的办法,打开查询,读取每个字段的数据,逐条的的写入文...
  • lailai186
  • lailai186
  • 2014年08月15日 17:46
  • 3214

delphi实现dbgrideh点击列自动排序

dbgrideh控件本身是支持点击列自动排列的,只要设置
  • baidu_20650485
  • baidu_20650485
  • 2014年11月04日 17:31
  • 1739

DBGridEh全部属性设置详解

可惜做好的表格传不下来,只好粘成纯文本了 属性 子选项 值 说明 Allowedoperations [alopInsertEh,alopUpdateEh,alopDeleteEh,alopAp...
  • wozengcong
  • wozengcong
  • 2013年09月13日 20:17
  • 4159

Delphi表格控件DBGridEh全属性设置详解 最全的属性设置说明

很是费了的功夫,把DBGridEh全部属性设置弄出来了   白波九道  2013.9.10 可惜做好的表格传不下来,只好粘成纯文本了 属性 子选项 值 说明 Allowedoperation...
  • my98800
  • my98800
  • 2016年03月11日 16:24
  • 2470

datagrid 当前页面统计合计等在Footer页脚。

如下是效果图:三行的平均值,合计等计算 $.extend($.fn.datagrid.methods, {           //extend 用来新增datagrid 的方法,名字为stat...
  • aq23es
  • aq23es
  • 2016年06月15日 16:55
  • 416

EhLib控件使用技巧 --DBGridEh自动过滤

DBGridEh 可以为你提供一个更加美观和功能丰富的 DBGird,比如平面化显示、奇偶行不同颜色(斑马线)、快速查找、合计行、Grid 打印等。在 Ehlib 的后期版本中,还提供了一个非常强大的...
  • Trassion
  • Trassion
  • 2015年11月17日 00:02
  • 1873
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DBGridEh Footer的设置和使用
举报原因:
原因补充:

(最多只允许输入30个字)