Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > DBGrid: Переход на следующее поле


Автор: Serebrus 12.10.2011, 08:21
Доброго времени суток.
Как можно организовать переход на следующее поле DBGrid нажатием Enter?

Спасибо

Автор: AndreyIQ 12.10.2011, 09:04
Код

procedure TForm3.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_RETURN then
    DBGrid1.DataSource.DataSet.Next;
end;

Автор: Serebrus 12.10.2011, 09:28
Код не помог, после нажатия Enter, курсор не перемещается на следующее поле, а остается на текущем. 

Автор: AndreyIQ 12.10.2011, 09:40
Цитата(Serebrus @ 12.10.2011,  09:28)
Код не помог, после нажатия Enter, курсор не перемещается на следующее поле, а остается на текущем.

Вы код точно вписали в OnKeyDown DBGrid'a и в момент нажатия enter фокус на DBGrid'e

Автор: Serebrus 12.10.2011, 09:43
да конечно, по моему, вы не так поняли меня, мне нужно перемещение на следующее поле а не на следующий запись

Автор: AndreyIQ 12.10.2011, 10:00
Цитата(Serebrus @ 12.10.2011,  09:43)
да конечно, по моему, вы не так поняли меня, мне нужно перемещение на следующее поле а не на следующий запись

Прошу прощения, невнимательно прочитал
Код

   if Key = VK_RETURN then
     if DBGrid1.Columns.Grid.SelectedIndex < DBGrid1.Columns.Count - 1 then
       DBGrid1.Columns[DBGrid1.Columns.grid.SelectedIndex + 1].Field.FocusControl

Автор: Serebrus 12.10.2011, 10:25
Все, заработало, спасибо большое.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)