DBGrid и выделение записи

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
Xenar
постоялец
Сообщения: 158
Зарегистрирован: 08.06.2011 12:54:07

DBGrid и выделение записи

Сообщение Xenar »

Всем доброго времени суток
Прошу сильно не ругать за вопрос (на старости лет пришлось заняться разработкой) но сам я не нашел решение.
Каким образом можно программно установить курсор(выделить запись) в DBGrid.
Аватара пользователя
dunin
энтузиаст
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и
Контактная информация:

Сообщение dunin »

Xenar писал(а):Всем доброго времени суток
Прошу сильно не ругать за вопрос (на старости лет пришлось заняться разработкой) но сам я не нашел решение.
Каким образом можно программно установить курсор(выделить запись) в DBGrid.

Ну раз пришлось заняться, тогда чуть-чуть теории: курсор в DBGrid не ставится. Курсор ставится в связанном с гридом наборе данных (нужная запись делается текущей), соответственно и плясать надо от набора данных. Хорошея штука метод Locate, например как-то так:

Код: Выделить всё

procedure TMainForm.SQLAfterOpen(DataSet: TDataSet);
begin
  Dataset.EnableControls;
...
  TFBDataSet(Dataset).Locate('ID',TFBDataSet(Dataset).Tag,[]);
...
end;


Добавлено спустя 1 минуту 10 секунд:
Вернее так

Код: Выделить всё

procedure TMainForm.SQLAfterOpen(DataSet: TDataSet);
begin
  Dataset.EnableControls;
...
  TFBDataSet(Dataset).Locate('поле по которому ищем запись','нужное значение поля',[дополнительные параметры]);
...
end;
Аватара пользователя
Xenar
постоялец
Сообщения: 158
Зарегистрирован: 08.06.2011 12:54:07

Сообщение Xenar »

Большое спасибо за помощь. Сейчас испробую.

ЗЫ. Все прекрасно заработало, огромное спасибо.
Ответить