将dbgrid与table相连,table有三个字段,单价dj,数量sl,金额je
我在tablesl的onValidate事件中是这样计算的:  je:=dj*sl
但这种方法必须再单击一下金额所在的列,金额字段才能被赋值
想向高手请教一下,能不能随着"单价"或"数量"字段的输入(在dbgrid相应的列中)
同时改变“金额”字段的值

解决方案 »

  1.   

    在你的FieldChangeComplete事件中处理它:
    procedure TForm1.ADOTable1FieldChangeComplete(DataSet: TCustomADODataSet;
      const FieldCount: Integer; const Fields: OleVariant; const Error: Error;
      var EventStatus: TEventStatus);
    begin
      je:=dj*sl;
    end;
      

  2.   

    可以在dbgrid中响应回车事件,回车后,调用onvalidate事件计算金额的值
      

  3.   

    可以用DXDBGRID做到/www.51delphi.com有下载(昆腾组件),如果用DBGRID你就要在健盘放开后的事件里处理了