[Форум] [Помощь] [Поиск] [Выйти] |
Добро пожаловать, ![]() |
|
|
| ||
Есть несколько таблиц. связка: ADOConnection->ADOQuery->DataSource->DBGrid В DBGrid отображается ряд полей одной таблицы. Необходимо редактирование данных. Часть отображаемых полей является индексом для данных из других таблиц. Хочется чтобы отображались значения, а не индексы. Вопрос с редактированием разрешился путем run-time подстановки (подлога :) DBLookupComboBox в ячейку получающую фокус. Осталась проблема с отображением неактивных данных (нужно визуально заменить индексы на значения). Гугл, Королевство Делфи уже третий час не сдают бастионы... Посоветуйте путь решения или ссылку, пожалуйста. Спасибо. |
| ||
Гугл проиграл. Оказывается: При реализации Lookup с помощью, например, DBLookupComboBox параметры Lookup указываются в disign-time. Ну, по крайней мере, есть такая возможность :)). Предположив, что, аналогично, есть lookup в связке ADOQuery-DBGrid, то он верно тоже может быть замечен в disign-time. Предположительно в свойствах столбцов DBGrid (все динамически создается-удаляется, визуально тестируется :). Фигушки. Отсутствие и сподвигло на битву с Гуглом. Оказывается параметры Lookup указываются лишь в run-time. И не в DBGrid, а в ADOQuery.FindField('Name').Lookup.... Вот. Вдруг кому понадобится. Сорьки что нафлудил. Не позволяй себе лениться :-/ |