var ls:=DBGrid1.SelectedIndex; //if ls<dbgrid1.Columns.count-1 then
DBGrid1.SelectedIndex:=ls+1;
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var I: Integer; begin case Key of VK_RETURN: begin I := TDBGrid(Sender).SelectedIndex; if I + 1 < TDBGrid(Sender).Columns.Count then Inc(I) else I := 0; while (I <> TDBGrid(Sender).SelectedIndex) and (not TDBGrid(Sender).Columns[I].Visible) do begin if I + 1 < TDBGrid(Sender).Columns.Count then Inc(I) else I := 0; end; if (I <= TDBGrid(Sender).SelectedIndex) and Assigned(TDBGrid(Sender).DataSource) and Assigned(TDBGrid(Sender).DataSource.DataSet) then TDBGrid(Sender).DataSource.DataSet.Next; TDBGrid(Sender).SelectedIndex := I; end; end; end;
//if ls<dbgrid1.Columns.count-1 then
DBGrid1.SelectedIndex:=ls+1;
Shift: TShiftState);
var
I: Integer;
begin
case Key of
VK_RETURN: begin
I := TDBGrid(Sender).SelectedIndex;
if I + 1 < TDBGrid(Sender).Columns.Count then
Inc(I)
else I := 0;
while (I <> TDBGrid(Sender).SelectedIndex)
and (not TDBGrid(Sender).Columns[I].Visible) do begin
if I + 1 < TDBGrid(Sender).Columns.Count then
Inc(I)
else I := 0;
end;
if (I <= TDBGrid(Sender).SelectedIndex) and
Assigned(TDBGrid(Sender).DataSource) and
Assigned(TDBGrid(Sender).DataSource.DataSet) then
TDBGrid(Sender).DataSource.DataSet.Next;
TDBGrid(Sender).SelectedIndex := I;
end;
end;
end;