如何在DBgrid下方显示当前数据集的合计数(无内容)(50分)

  • 主题发起人 主题发起人 xf163
  • 开始时间 开始时间
tdataset.recordcount
 
说清楚一点,是数据集的记录个数,还是各记录数值的和?
如果是第一个
Label1.Caption:=IntTOStr(Table1.RecordCount);
如果是第二个
写一个函数记算
Example:
procedure addrecord;
var
i:integer; // for add integer record
f:Real; // for add real record
begin
Table1.First;
i:=0;
f:=0;
while not Table1.Eof do
begin
i:=i+Table1.FieldByName('FieldName1').Value; //integerField
f:=f+Table1.FieldByName('FieldName2').Value; //real field
Table1.Next;
end;
Table1.First;
Label1.Caption:=IntToStr(i);
Label2.Caption:=FloatToStr(f);
end;

 
这个方法在新增记录或删除记录时,不便自动更新,是否有更好的方法?
 
dataset.recno
dataset.recordcount
 
用sql 的count
更新。afterinsert等事件里更新
 
感谢各位的热心解答,但都不是本人本意,在此重新描述一下:

一对多数据集 如发票 :每张发票只有唯一发票号发票体有很多行,分存在
(SQL7.0)二张表中,现想设计一表格,表头直接用 EDIT 等,表体想用DBGRID
在输入表体时,1、数值型数据能在最后一行动态合计;(如 PB)
2、表体有多行超过一屏时,不履盖此合计行;看起来要和 DBGRID完美结合(美观);

向各位请教实现上述界面设计的方法,非数据合计的方法。
 
要想简单,用组件吧。有三个组件可供选择:DevExpress的DxGrid、Infopower的
Twwdbgrid和俄罗斯多表头控件Ehlib1.53都可以实现表底合计的要求。下载地址:
http://home.online.tj.cn/~kw/
 
CIH 让小弟忙了几天,加之7天长假, 很对不住各位, 这就发糖了

 
多人接受答案了。
 
后退
顶部