procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var cur:integer; begin if key=VK_RETURN then begin cur:=dbgrid1.SelectedIndex; if cur<>dbgrid1.FieldCount-1 then dbgrid1.SelectedIndex:=cur+1 else begin datasource1.DataSet.Next; dbgrid1.SelectedIndex:=0; end; end; end;
可以在KeyPress中模拟Tab键,或者直接判断当前是不是最后一列,如果不是,就写DBGrid.ColumnIndex:=DBGrid.ColumnIndex+1
Shift: TShiftState);
var cur:integer;
begin
if key=VK_RETURN then begin
cur:=dbgrid1.SelectedIndex;
if cur<>dbgrid1.FieldCount-1 then
dbgrid1.SelectedIndex:=cur+1
else begin
datasource1.DataSet.Next;
dbgrid1.SelectedIndex:=0;
end;
end;
end;