![]() |
|
#1
|
|||
|
|||
![]() Название темы конечно слишком общее, но это все только потому, что у меня могут потом возникнуть ещё вопросы на эту тему
![]() Первый вопрос: результатом SQL запроса через adoquery является таблица с одним столбцом.Допустим список городов(Москва,Воронеж,Владивосток) Эту таблицу я могу вывести через dbgrid. adoquery->datasource->dbgrid. Но мне нужно сделать выпадающий список. Т.е используя DBLookupComboBox (или DBComboBox, честно говоря не понял пока ещё чем они отличаются, сейчас попытаюсь что-нибудь в Яндексе найти). Но с DBLookupComboBox не получается как с dbgrid, там надо указать datafield. Можно ли как то отобразить результат запроса в список? Заранее спасибо ![]() |
#2
|
||||
|
||||
![]() Как-то у вас одно противоречит другому. Вы получаете набор данных в результате запроса, так и работайте с ним как с набором данных. Зачем его перегонять в список значений?
Для выпадающего списка в вашем случае лучше использовать DBLookupComboBox т.к. у вас уже есть набор значений. То что вы неразобрались, как его настроить правильно неговорит что он неподходит для ваших целей. А вообще поиском воспользуйтесь, здесь уже на эту тему проскакивали сообщения. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() Нашел такой вариант. Через listsource
dblookupcombobox1.ListField:='uName'; dblookupcombobox1.keyfield:='uID'; только не совсем понятно чем listsource отличается от datasource и для чего нужен keyfield |
#4
|
|||
|
|||
![]() KeyField определяет какое из полей является ключевым и будет копироваться в главный источник данных. Ну а DataSource это и есть главный испочник данных.
Вообще-то обычно этот компонент используется при реализации выбора из справочника. Допустим у нас есть таблица Т1(ID, DicID), основная, и таблица D1 (ID, Name), справочник. Так вот у этого контрола надо настроить свойства так: DataSource = T1 (естественно, это дадасорс на соответсвующий ado-компонент) Field = DicID ListSource = D1 ListField = Name KeyField = ID таким образом, при выборе наименования в списке, его ID помещается в поле DicID главной таблицы. Вот. |
#5
|
|||
|
|||
![]() Примерно понятно. Спасибо.
|