Показать сообщение отдельно
  #1  
Старый 25.08.2014, 21:39
maxfox123 maxfox123 вне форума
Прохожий
 
Регистрация: 07.07.2013
Сообщения: 20
Версия Delphi: delphi 6
Репутация: 10
По умолчанию как изменить положение выделенной строки в дбгрид?

Добрый день,
если можно помогите разобраться со своими ошибками.

Задача:

Options.gdRowSelect = True
Необходимо перемещаться в ДБгрид используя только клавиатуру, то есть только стрелки вверх и вниз
везде на форумах написано для этого необходимо использовать вызовы

Код:
DBGrid.DataSource.DataSet.Next;
DBGrid.DataSource.DataSet.Prior;

или

Код:
DBGrid.DataSource.DataSet.MoveBy(TComponent(Sender).Tag);
DBGrid.SetFocus;

НО
При использовании таких вызовов, происходит изменение положения “курсора” (не знаю, как более правильно сказать )
но новая строка не становится выделенной.
DBGrid.SelectedRows.Count возвращает «0»

то есть условно:
есть выделенная 5-я строка (DBGrid.SelectedRows.Count возвращает «1»)
выполняется нажатие клавиши стрелка вниз
должна выделятся 6-я строка (ожидаю DBGrid.SelectedRows.Count = 1 )
но 6-я строка не выделяется и выделение с 5-й строки тоже снимается.

как изменить положение выделенной строки в дбгрид?
как выделить другую строку при нажатии на стрелку вниз?
Ответить с цитированием