Показать сообщение отдельно
  #1  
Старый 27.03.2014, 14:54
max_delphi max_delphi вне форума
Прохожий
 
Регистрация: 27.03.2014
Адрес: На Земле
Сообщения: 21
Версия Delphi: Delphi XE5
Репутация: 10
По умолчанию Проблема с динамическим обновлением PickList в DBGrid!

Здравствуйте, уважаемые форумчане и все любители Delphi!

Давно не программировал на Delphi 7 и в связи с этим позабыл многое из того, что делал раньше. Выручайте!

Моя проблема. Есть у меня таблица Main (в главной форме компонент MainDBGrid), куда помещаются данные ежедневного отчета (тема - аттракционы, зоопарк, аквапарк). Есть три таблицы Park, Waterpark и Zoo, соответственно.

В главной таблице есть два поля: Территориальность (maLocationOf)(комбобокс из трех записей, Парк, аквапарк и зоопарк) и Объект (maObject). Собственно проблема как раз с полем Объект. Мне необходимо в зависимости от того, какое значение стоит в поле Территориальность для ТЕКУЩЕЙ записи в DGBrid'e сформировать список значений из определенной таблицы в PickList (одной из трех) ТОЛЬКО для данной записи. Так если надо изменить значение поля Территориальность, например, выбрать не Парк, а Зоопарк, то при изменении в поле Объект соответственно сразу бы формировался новый PickList из другой таблицы (Zoo, соответственно).

Не пойму какое событие мне нужно. Пробовал и OnColEnter и OnEnter, OnCellClick в DBGrid и AfterScroll в ADOTable но результат двоякий. Работает криво, при переключении на другое поле список пропадает.

Lookup поля по-моему, так вот динамически формировать нельзя? или это как-то с помощью ADOQuery можно сделать?

Подскажите, как сделать точно и правильно, чтобы работало, как мне надо? Прикладываю программу в архиве и БД. Очень хотелось бы с этим разобраться.
Вложения
Тип файла: rar PARK.rar (345.4 Кбайт, 11 просмотров)
Ответить с цитированием