定义全局变量 DealIng:Boolean=false;
RC,ChgValue
ouble;在DataSet.BeforeEdit事件中编写代码:begin
if DealIng then
Exit;
RC:= dataset.fieldbyname('日产').asfloat;
end;
BeforePost中编写代码begin
if DealIng then
Exit;
ChgValue := RC - dataset.fieldbyname('日产').asfloat;
Dataset.FieldByName('累计').asfloat := Dataset.FieldByName('累计').asfloat+ChgValue;
end;
在DataSet.AfterPost事件中编写代码:begin
if DealIng then
Exit;
DealIng :=True;
try Dataset.next;
While Not Dataset.Eofdo
begin
Dataset.edit;
Dataset.FieldByName('累计').asfloat := Dataset.FieldByName('累计').asfloat+ChgValue;
Dataset.post;
Dataset.next;
end;
finally DealIng:=false;
end;
end;
----------------------最好是在afterPost之后调用存储过程,后台处理数据,然后前台刷新数据。