每个字段的onupdatedata设置一下呀, procedure Tjhd.DBGridEh1Columns8UpdateData(Sender: TObject; var Text: String; var Value: Variant; var UseText, Handled: Boolean); begin if text='' then text:='0'; if ADOQuery2.FieldByName('spbm').Value='' then begin text:='0'; exit; end else begin text:=formatfloat('0.######',strtofloat(text)) ; ADOQuery2.FieldByName('sl').Value:=text; adoquery2.fieldbyname('je').Value= adoquery2.fieldbyname('sl').Value* adoquery2.fieldbyname('dj')).Value; end; 金额=数量*单价,我自己的项目end;
grid也提供了一些事件,也可以在某些条件下做这个事情
procedure Tjhd.DBGridEh1Columns8UpdateData(Sender: TObject;
var Text: String; var Value: Variant; var UseText, Handled: Boolean);
begin
if text='' then text:='0';
if ADOQuery2.FieldByName('spbm').Value='' then
begin
text:='0';
exit;
end
else
begin
text:=formatfloat('0.######',strtofloat(text)) ;
ADOQuery2.FieldByName('sl').Value:=text;
adoquery2.fieldbyname('je').Value= adoquery2.fieldbyname('sl').Value* adoquery2.fieldbyname('dj')).Value;
end;
金额=数量*单价,我自己的项目end;