![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
EhLib - выпадающий список в гриде. [D7, WinXP]
Serge_ © (2004-07-20 14:20:00)Народ, я знаю, что многие полюзуются библиотечкой EhLib - посему вопрос, как организовать выпадающие списочки (и даже гриды, как в примере)?
Интересуетс сполоб именно с помощью LookupSource, а не через PickList. Дело в том, что в демо-примере это делается с успехом, но посторить сей успех я никак не смог.
Спасибо.
Serge_ (2004-07-21 17:40:00) [1]Спасибо большое.
Буду копать :)
HSolo (2004-07-21 11:16:00) [2]Вдогонку - попробуйте задать этот вопрос в "Базах", там много спецов по ADO
HSolo (2004-07-21 11:15:00) [3]Т.е. не выводятся названия из LookupDataSet?
Странно... Правда, с ADO мне работать не доводилось, но с BDE/IBX/FIBPlus это работает как часы. Похоже, это какой-то ADO-шный нюанс, и тут я ничем помочь не могу :( Разве что попробуйте (шаманство, конечно) глянуть в сторону TField.LookupCache.
Serge_ (2004-07-21 10:40:00) [4]Ну да - так вот такая штуковина не пашет :(
HSolo (2004-07-21 09:53:00) [5]sorry, под конец дня меня переклинивает :(
Вам нужно отобразить tChild, а значения для lookup-а взять из tParent, так?
Тогда создаем lookup-поле в tChild и:
KeyFields - (tChild)parent_id
LookupKeyFields - (tParent)parent_id
LookupResultField - (tParent)parent_name
LookupDataSet - tParent
Serge_ (2004-07-20 18:48:00) [6]СУБД = MS SQL Server
Компоненты доступа = АДО
Лукап поле создаю как и следует - допустим есть qChild:TADOQuery;
В нём добавляю поле parent_name_1 с типом fkLookup.
Выставляю всё как Вы сказали в посте 4.
В гриде это поле показываю - и ничего не происходит. Грид не продупляется, что поле это лукаповое. :(
Хотя стоп... По Вашему посту 4 выходит, что лукаповое поле почему-то создаётся в датаСете tParent и пропертя LookupDataSet = tChild и соответсвенно LookupResultField = (tChild)child_name. Мне надобно, чтобы выпадал список родителей и в гриде, я выбирал родителя ребёнку, а значит лукаповое поле должно создаваться в датаСете tChild и соответсвенно LookupDataSet = tParent и соответсвенно LookupResultField - (tParent)parent_name.
Я так понимаю Вы ошиблись или я что-то не понял и это может стать ключом к разгадке?
HSolo (2004-07-20 18:30:00) [7]Быть того не может :)
Как создаете lookup-поле? В гриде показываете именно его (а не поле с идентификаторами)? СУБД какая? Компоненты доступа?
Serge_ (2004-07-20 18:22:00) [8]Да в том-то и дело, что есть.
И именно так я и делал.
А не работает. :(
HSolo (2004-07-20 17:16:00) [9]KeyFields - (tParent)parent_id
LookupKeyFields - (tChild)parent_id
LookupResultField - (tChild)child_name
LookupDataSet - tChild
Неужели этого нет в справке к D7? Или языковой барьер? :)
Serge_ (2004-07-20 16:32:00) [10]По поводу того, что создать надо в датаСете лукап поле эт я понял. токмо вот не получается скомпоновать.
В настройке лукап поля учавствует четыре проперти KeyFields,
LookupKeyFields, LookupResultField, LookupDataSet. Кручу верчу ими и никак не могу подобрать.
Вот, к примеру, ксть у меня табличка tParent(parent_id, parent_name) и табличка tChild(child_id, child_name, parent_id).
Хочу в гриде показывать табличку tChild таким образом, чтоб на месте поля parent_id видеть список родителей, но идентификаторы подставлялись бы автоматически.
Каковы должны быть значения указанных выше пропертей, чтоб лукап поле было сконфигурено правильно?
HSolo (2004-07-20 15:14:00) [11]Создайте в своем датасете lookup-поле, его и показывайте в гриде
Подробности - F1 + lookup fields
Iconka (2004-07-20 14:29:00) [12]Точно не помню, но помоему нужно само поле в TTable сконфигурить как Lookup. В таблице для колонки заполни поле LookupDisply. Может еще чего... не помню. Я тоже до этого дошла методом проб.