dbgrid控件,我在属性中设置Options dgEditing:=true;有关Readonly:=false,也就是说能修改记录,在DBgrid当指针指向最后一条记录时,我按TAB键或方向键(↓)都会自动增加一条空记录,跟Append类似;我想要的结果是:能修改每条记录,按TAB键或方向键(↓)不要自动增加状态.请问能做到这样吗?

解决方案 »

  1.   

    去掉DbGrid的自动添加功能
    **************************************************************
    procedure TForm1.DataSource1Change(Sender: TObject; Field: TField);
    begin
      if TDataSource(Sender).DataSet.Eof then TDataSource(Sender).DataSet.Cancel;
    end;
      

  2.   

    可以
    在DataSet的OnNewRecord中写入
    procedure TForm1.ADOQuery1NewRecord(DataSet: TDataSet);
    begin
      DataSet.Cancel;
    end;
      

  3.   

    但我按增加按钮会不会有影响呢?ADOQuery1.append;
      

  4.   

    用一个BOOLEAN来判断是可以的,
      

  5.   

    晕!
    增加按钮的应该是代码应该是adoquery1.inerst;
      

  6.   

    我都是用Append的,不知道一不一样?
      

  7.   

    刚用了,个人认为还是Append好用,Inerst好像对指针指向的这条记录做修改似的,Append是增加一条空记录.
      

  8.   

    还有个问题再请教一下:DBgrid中就只有一列,单击某条记录总是选择整行,有没有办法能选择这列对应所选的行的值,