procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (key = vk_down) then key := 0; end;
朋友我的DBGRID的ReadOnly属性不能设为True,因为我需要在DBGRID中编辑数据
朋友谢谢你的回答可是按TAB键还是能出现一行。
这样把tab禁止, if (key = vk_down) or (key= vk_tab) then key := 0;
在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;
Shift: TShiftState);
begin
if (key = vk_down) then
key := 0;
end;
if (key = vk_down) or (key= vk_tab) then
key := 0;
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;