DbGridEh 一个单元格的值改变时另一单元格的值随之改变

你可以为每个字段设置OnSetText事件,这样在输入完后回车会移动时就会触发,或者在adoquery的beforepost中或afterpost中都可以
grid也提供了一些事件,也可以在某些条件下做这个事情

每个字段的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;

猜你喜欢

转载自www.cnblogs.com/bwdblogs/p/10292084.html