我怎么得到DBGRID的一个单元格中修改后保存前的值 ???????

解决方案 »

  1.   

    我不知道可不可直接得到我在修改DBGIRD中的一个单元格时,但是我想拿出用户修改或插入时的数值再做一个搜索,把相匹配的显示出来。但现在在DBGRID中修改时但没保存前的DISPLAY值一直是原值而不是修改时的值,我想得到修改时的值
      

  2.   

    DBGrid的修改不是直接作用到数据库中的吗?怎么会有保存前,这么一说?
      

  3.   

    在query控件的beforpost事件里直接获得字段的值就可以了
    procedure TForm1.ADOQuery1BeforePost(DataSet: TDataSet);
    begin
      保存前的值 := DataSet.FieldByName('').Value;
    end;
      

  4.   

    heluqing你可以自己试试看fengqingwanzhong。。我想在DBGRID的KEYPRESS事件中取出值。。可以吗????
      

  5.   

    str:string;
    row,col:Integer;
    begin
    row:=TStringGrid(dbgrid1).row;
    col:=TStringGrid(dbgrid1).col;
    str:=TStringGrid(dbgrid1).cell[col,row];//这就是dbgrig单元格的值,你可以在beforepost时先保存
    end;
      

  6.   

    datasoure的datachange事件中写
    Field[0].oldValue
      

  7.   

    我的整体需求是这样的:
    我要将DELPHI编程中的自动提示功能放到DBGRID或DBGRIDEH中。就是在列为NAME的列中如果我输入一个字符T就是将与T匹配的数据中所有值都显示出来现在问题是:
    我不能实时的得到这个输入的值,我只能得到原来数据库的值。。
    所以请大家帮助!
      

  8.   

    問題描述不清楚,你檢索數據和你POST有什麼關系呢?
      

  9.   

    可以把焦点移到别的控件上,你只所以得不到输入的值,就是焦点的问题,焦点移到别控件上就可以了
    panel1.setfocus;