好比我数据库有三个字段A,B,C
现在我用DBGRID现在我输入A,B后,第三列怎么能马上显示出A*B的值!!

解决方案 »

  1.   

    载你Dbgrid联接的那个table中双击,然后选择添加新的字段,就行了。
      

  2.   

    我的这种方法可以在DBGRID第2个字段失去焦点的时候,第3个字段自动计算出A*B
    在procedure TForm1.DBGrid1ColEnter(Sender: TObject);
    begin
      if dbgrid1.SelectedField=dbgrid1.Columns[1].Field  then
       begin
         adoquery1.Open;
         adoquery1.Edit;
       end;
    end;
    procedure TForm1.DBGrid1ColExit(Sender: TObject);
    begin
    if dbgrid1.SelectedField=dbgrid1.Columns[1].Field then
       begin
          adoquery1.Post;
          adoquery1.Close;
          adoquery1.sql.Clear ;
          adoquery1.SQL.Add('select A,B,(A*B) as C from TABLE1');
          adoquery1.ExecSQL;
      end;
    有可能达不到预想的目的,因为你说也不是太明白。在此基础上修改应该就可以了。
      

  3.   

    在oncolexit里写事件: 
    DbGrid1.Fields[3].Val
    ue := Adoquery1.FieldValues['***'] * Adoquery1.FieldValues['###'];
    当然还得先对1,2列的是否null判断一下;