注意: 数据库是varchar的 是没有办法 合计的,像这样的 可以 动态添加下 。如下:

 

----代码为:

  WeiTopTradeShow_dbgeh.FieldColumns['top_payment'].Footer.ValueType := fvtStaticText;
  WeiTopTradeShow_dbgeh.FieldColumns['top_payment'].Footer.Value := '总: '+inttostr(frmClientDm.TopTradeShow_adoq.RecordCount)

上面这行代码可以写在dbgrideh的OnSumListAfterRecalcAll事件中

如:

procedure TfrmMain.WeiTopTradeShow_dbgehSumListAfterRecalcAll(Sender: TObject);
begin
  WeiTopTradeShow_dbgeh.FieldColumns['top_payment'].Footer.ValueType := fvtStaticText;
  WeiTopTradeShow_dbgeh.FieldColumns['top_payment'].Footer.Value := '总: '+inttostr(frmClientDm.TopTradeShow_adoq.RecordCount);
end;

 

---------------------

网上大多用的是 WeiTopTradeShow_dbgeh.Columns['16'].Footer.Value := '总: '+inttostr(frmClientDm.TopTradeShow_adoq.RecordCount)

这中方法,.Columns['16'] 这种方法有一个缺陷就是 top_payment一定要在第16列上,如果不在就会出现错误,所以我自己发明了自己的完美方法:WeiTopTradeShow_dbgeh.FieldColumns['top_payment'] ,直接找top_payment ,靠太完美了这种方法

---------------------

如果数据库是varchar类型的是没有办法 合计的,我为了合计把数据库的类型改成了,

-------------

--

多看看sql 的数据类型,能减小的就减小

 

posted on 2012-05-25 14:31  del88  阅读(30)  评论(0)    收藏  举报