如何禁止在DBGRID末位自动添加一行记录

解决方案 »

  1.   

    procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
     if (key = vk_down) then
        key := 0;
    end;
      

  2.   

    朋友我的DBGRID的ReadOnly属性不能设为True,因为我需要在DBGRID中编辑数据
      

  3.   

    朋友谢谢你的回答可是按TAB键还是能出现一行。
      

  4.   

    这样把tab禁止,
       if (key = vk_down) or (key= vk_tab) then
        key := 0;
      

  5.   

    在TDataSet的BeforInsert事件中调用Abort过程
    procedure TForm1.Tbable1BeforeInsert(DataSet: TDataSet); 
    begin 
      Abort; 
    end; 或者
    procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; 
      Shift: TShiftState); 
    begin 
      if (Key = VK_DOWN) or (Key=VK_TAB) then 
      begin 
        TTable1.DisableControls; 
        TTable1Next; 
        if TTable1.EOF then 
          Key := 0 
        else 
          TTable1.Prior; 
        TTable1.EnableControls; 
      end; 
    end;