对DBGRID中显示的某张表的最后一条记录进行编辑时,若不小心按下了向下键那么表里就会多产生一条记录。请问好何使表到了最后一条就不会向下走了,这样就不会产生新的记录?

解决方案 »

  1.   

    在DBGRID的KEYDOWN事件中写
    if (query1.recno=query1.recordcount)and(ord(key)=40) then
     abort;
      

  2.   

    type
      TGrid = class(TDBGrid);
      TFormXiaoShouXinXi = class(TForm)
        Panel1: TPanel;
        Panel2: TPanel;
        DBGrid1: TDBGrid;     …………procedure TFormXiaoShouXinXi.DataSource1DataChange(Sender: TObject;
      Field: TField);
    begin
    //用来去掉DBGrid的自动添加功能
      if TDataSource(Sender).DataSet.Eof then
        TDataSource(Sender).DataSet.Cancel;
    end;
      

  3.   

    type
      TGrid = class(TDBGrid); 
    DataSource1DataChange
    这两个地方要注意,给分吧!