interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Fa_TEAJX_ADDS, cxGraphics, cxControls, cxLookAndFeels,
  cxLookAndFeelPainters, cxContainer, cxEdit, dxSkinsCore,
  dxSkinsDefaultPainters, cxStyles, dxSkinscxPCPainter, cxCustomData,
  cxFilter, cxData, cxDataStorage, DB, cxDBData, cxDBExtLookupComboBox,
  DBAccess, Uni, MemDS, StdCtrls, cxGridLevel, cxGridCustomTableView,
  cxGridTableView, cxGridDBTableView, cxClasses, cxGridCustomView, cxGrid,
  cxDropDownEdit, cxLookupEdit, cxDBLookupEdit, cxMaskEdit, cxCalendar,
  cxDBEdit, cxTextEdit, ExtCtrls;type
  TF_CGTEA_ADD = class(TFa_TEAJX_ADD)
    Edit1: TEdit;
    Memo1: TMemo;
    UniQuery_listSysTemID: TIntegerField;
    UniQuery_listSPBM: TWideStringField;
    UniQuery_listSPMC: TWideStringField;
    UniQuery_listDJBM: TWideStringField;
    UniQuery_listSPPZ: TWideStringField;
    UniQuery_listSPCD: TWideStringField;
    UniQuery_listCYXX: TWideStringField;
    UniQuery_listSCJJ: TWideStringField;
    UniQuery_listSPDJ: TCurrencyField;
    UniQuery_listSPSL: TFloatField;
    UniQuery_listSYSL: TFloatField;
    UniQuery_listSPJE: TCurrencyField;
    UniQuery_listSPGG: TWideStringField;
    UniQuery_listRKRQ: TDateTimeField;
    UniQuery_listCYMJ: TWideStringField;
    UniQuery_listXSDJ: TCurrencyField;
    UniQuery_listSPDW: TWideStringField;
    UniQuery_listSPCR: TWideStringField;
    UniQuery_listClaField: TBCDField;
    cxGridDBTableView1ClaField: TcxGridDBColumn;
    procedure FormShow(Sender: TObject);
    procedure Button_addClick(Sender: TObject);
    procedure cxGridDBTableView1EditKeyUp(Sender: TcxCustomGridTableView;
      AItem: TcxCustomGridTableItem; AEdit: TcxCustomEdit; var Key: Word;
      Shift: TShiftState);
  private
   uniquery_spdw:TUniQuery;
   unidatasource_spdw:TUniDataSource;
   uniquery_spgg:TUniQuery;
   unidatasource_spgg:TUniDataSource;
   uniquery_cypz:TUniQuery;
   unidatasource_cypz:TUniDataSource;
   uniquery_cyjj:TUniQuery;
   unidatasource_cyjj:TUniDataSource;
   uniquery_cyxx:TUniQuery;
   unidatasource_cyxx:TUniDataSource;
   uniquery_cycd:TUniQuery;
   unidatasource_cycd:TUniDataSource;
    { Private declarations }
  public
    { Public declarations }
  end;var
  F_CGTEA_ADD: TF_CGTEA_ADD;
  spdj,spsl,spje:Double;implementation
  USES CxGridfun,Common;
{$R *.dfm}procedure TF_CGTEA_ADD.Button_addClick(Sender: TObject);
begin
  inherited;
  UniQuery_list.FieldByName('SPBM').Value:=GetMaxTableDateBH('CR_SPCG');
  spdj :=0;
  spsl :=0;
end;procedure TF_CGTEA_ADD.cxGridDBTableView1EditKeyUp(
  Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem;
  AEdit: TcxCustomEdit; var Key: Word; Shift: TShiftState);
begin
  inherited;
  if Tcxmaskedit(AEdit).text = '' then exit;
  if AItem.Index =9 then spdj := StrToFloat(TcxTextEdit(AEdit).text);
  if AItem.Index =10 then spsl := StrToFloat(TcxTextEdit(AEdit).text);
  if (spdj <> 0) and (spsl <> 0) then
  begin
   Sender.datacontroller.setvalue(0,11,FloatToStr(spdj * spsl)); //这是一个计算方法,当在 spdj或spsl中输入值时
                                                         自动计算当前的值并修改SPJE的值,但是当在修改的时候,spdj 或 spsl 的显示值又变为空,而 spje 的值又没有错,请问这是什么原因,而在下面的方法显示计算值又没有问题?
   Edit1.Text := FloatToStr(spdj * spsl);
  end;
end;