着急!

解决方案 »

  1.   

    新建一个组件,屏蔽掉那个消息
    procedure TMyGrid.WndProc(...);
    begin
      if Msg....=向下键 then
        exit;
      inherited Wndproc(Msg);
    end;
      

  2.   

    呵呵,改一点源吗,或者,DBGRID。DATASET。BEFOREAPPEND中写上ABORT;
      

  3.   

    去掉DbGrid的自动添加功能 关键词:DbGrid     移动到最后一条记录时再按一下“下”就会追加一条记录,如果去掉这项功能 
       procedure TForm1.DataSource1Change(Sender: TObject; Field: TField);
       begin
         if TDataSource(Sender).DataSet.Eof then TDataSource(Sender).DataSet.Cancel;
       end;http://www.nssoft.net/showdoc.asp?did=816
      

  4.   

    gxgyj(杰克.逊) 的方法可能比较好,我学习学习
      

  5.   

    有一个更简单的方法
    就是如果你的DBGrid中显示的是AdoQuery1的数据的话,那么在AdoQuery1的BeforeInsert事件中写Abort就不会新增数据了当然,你要另增加数据得用另外一个AdoQuery或AdoCommand了
      

  6.   

    同意gxgyj的我试了一下可行!支持!
      

  7.   

    简单一点的:
    procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if (key = 40) and (adoquery1.RecNo = adoquery1.RecordCount) then key := 10;
    end;
      

  8.   

    楼上兄弟的方法也可以。
    大量电脑书籍下载:
    http://www.netyi.net/in.asp?id=ForMoreU