DBGrid i Enter

0

Witam
Jak w dbgrid obsłużyć naciśnięcie klaw. Enter, aby przejść do następnego pola (jak w Excel'u) ?
Domyslam się, że należy obsłużyć zdażenie OnKeyPress
begin
if Key=#13 then begin
dbGrid.EditorMode := false;

 ? wymuszenie zmiany pola ?

 Key := #0;

end;

0

Tyle udało mi się uzyskać...

To z key może być..

To działa:

if Key=#13 then begin
if DBGrid.SelectedIndex<DBGrid.Columns.Count-1 then
DBGrid.Fields[DBGrid.SelectedIndex+1].FocusControl;
// jeżeli nie będzie tego warunku if, to na ostatnim polu wyrzuci błąd
end;
//a do następnej linii możesz przejść strzałeczką

Jeżeli w DataSource masz coś podłączone to:

if Key=#13 then begin
if DBGrid.SelectedIndex<DBGrid.Columns.Count-1 then
DBGrid.Fields[DBGrid.SelectedIndex+1].FocusControl
else begin
DBGrid.DataSource.DataSet.Next; //może uda Ci się wymusić na samym DBGrid przejście do następnej linii
DBGrid.Fields[0].FocusControl;
end;
end;

0

DRUMERS, JESTEŚ WIELKI !

Bardzo dziękuję!

1 użytkowników online, w tym zalogowanych: 0, gości: 1