现有一个百万条记录的表用DBGridEh显示,合计栏显示所有记录合计,如果全部显示则很慢,如果显示一部分记录,DBGridEh的合计如何显示所有记录合计呢?数据库为MYSQL,采用Unidac连接。

解决方案 »

  1.   

    用 SQL 语句求出所有记录的合计,然后用代码将合计写到Footer
      

  2.   

    那么多记录用什么显示都会很慢的。还是用1楼的方法,用SQL语句求出总合。
    再将
    dbgrideh1.columns[i].footers[0].valuetype:=fvtStaticText;
    dbgrideh1.columns[i].footers[0].value:=合计数;
    就可以了
    其实个这数不一定要写在debrideh里面,容易给人误解,好像表里的数据合是这个数。你可以放在dbgrideh表外面,写清一些信息,如总记录数,总合计数。