我想实现的功能如下:
1、在DBGRID的最后加上一行,用来显示汇总数据;
2、汇总行的位置是固定的,就跟标题栏一样,只有中间的数据行可以滚动。
请问DBGRID有没有这个功能?如果没有,我该如何做才能实现这样的效果???

解决方案 »

  1.   

    去www.delphibox.com下载EHlib3.2安装,这个控件包提供了一个DBGridEH的控件,正合你的要求
      

  2.   

    谢谢楼上的,我已经装上了,可是使用的时候碰到一点问题:
    汇总行怎么显示数据?我将FooterRowCount属性改为1,下面显示出来有一行空行,可是没有汇总数据呀?
    请问该如何设置呀?DBSumlist控件是做什么用的?我试了一下好像没什么作用
      

  3.   

    用ExpressQuantumGrid 更加好用,它只有你想不到,没有做不到。
      

  4.   

    我是用的DBGRIDEH,可是不行呀,汇总行可以显示,但是不能生产数据,能说说具体怎么做的吗?
      

  5.   

    汇总行怎么显示数据?我将FooterRowCount属性改为1,下面显示出来有一行空行,可是没有汇总数据呀?答:设定Sumlist.Active=true;并设定Sumlist的fieldname
      

  6.   

    Sumlist没有fieldname属性呀,在属性编辑框中只有active,ExternalRecalc,和VirtualRecords三个属性。我把Sumlist的Active属性设置了,没有用。
    哪位做过的,请不吝赐教!!!!
      

  7.   

    DBGRIDEH 是Enlib 3.0组件包中的组件之一。Enlib 3.0组件包是一位俄国人为增强Borland系列开发工具功能而开发的第三方组件,它具有界面友好、功能强大、开发效率高、、快速制作预览/打印简单中国式报表等特点。因此,一推出即受到广大Borland程序员的青睐。目前这个版本支持Borland Delphi versions 4,5,6&7 和 Borland C++ Builder versions 4 & 5 ,可极大地提高数据库应用系统客户端的性能。许多商品软件如《速达2000》等都使用了该组件。下面本人将使用该组件在实际系统开发过程中的经验总结如下。 Enlib3.0组件包中最重要而且功能最强大的莫过于dbgrideh组件,本文介绍的所有实例均在Delphi 7开发环境下调试通过。一、DBGridEh(增强型表格组件)功能详解DBGridEh组件无论在外观上还是功能上都非常类似Borland开发工具中现有的dbgrid组件,它除了提供dbgrid组件的全部功能外,还增加了下列新功能:● 任意选择多行、列或矩形区域的数据.● 为多列标题设定共同的父标题行.● 表格底部(Footer) 区显示求和、计数和其它统计信息.● 自动调整组件宽度与客户区域等宽.● 设置标题行、数据行的高度.● 超长的标题行、数据行文本自动折行处理.● 标题行可作为按钮使用,并可选择是否显示排序标志符(▽降序△升序).● 点击列标题可对当前列自动排序而无需编写代码.● 能够自动设置删除超长文本显示不下的多余部分,并以省略号(…)代替.● 自动搜索字段(Lookup)数据单元格以单、多列字段下拉列表形式显示.● 自动搜索字段(Lookup)数据单元格可进行增量搜索.● 可锁定任意列数在屏幕水平方向不滚动.● 日期时间控件DateTime picker 可支持TDateField and TDateTimeField两种日期格式.● 根据字段不同值显示关联的ImageList 对象图片组中的图片.● 隐藏任意列.● 显示3D风格的数据区、表尾区和锁定滚动列,制作3D外观表格.● 显示Memo类型字段值.● 除BOOLEAN型数据外,其它数据类型也可以检查框( checkbox )形式显示数据.● 使用专门的函数和过程来存取以reg或ini文件格式保存的表格布局(包含各数据列表、数据列访问顺序、列宽、索引标识、行高等信息)文件。● 通过设置数据单元格的hint和ToolTips属性,当移动鼠标到该单元格时,可以显示单元格容纳不下的文本内容.● 将组件中数据导入/导出到Text, Csv, HTML, RTF, XLS 和内部数据等多种格式的文件中.
      

  8.   

    以上是转贴
    DBGridEH用自动对数据进行汇总的功能!
    将SumList.active这个属性设置为真!
    再对你要进行汇总的数据字段设置汇总类型!
    DBGridEH.columns[1].Footer.valuetype:=fvtsum //汇总类型
    DBGridEH.Columns[0].Footer.valuetype:=fvtStaticText;
    DBGridEH.Columns[0].Footer.value:='合计';