Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Быстрый поиск в DBLookupComboBox [D6, dBase, FoxPro]


Igor Kashtanov ©   (2003-03-09 00:51:00) 

Перерыл кучу справки по Delphi, ответа ессесно не нашел. Каким образом осуществить быстрый поиск в DBLookupComboBox? И вообще, возможно ли это?

Заранее очень благодарен.


Igor Kashtanov   (2003-03-14 08:45:00) [1]

Если не трудно :)... Мыло рабочее. Очень признателен.


ЮЮ   (2003-03-14 03:25:00) [2]

Пакет для D6, по моему, разработчиками не создан, а есть разные варианты от сторонних разработчиков, ищи их, а не на Torry. В принципе, могу выслать, если мыло рабочее


Igor Kashtanov   (2003-03-14 01:10:00) [3]

Да, !!!! это то, что нужно.... Теперь следующий вопрос (достал уже :) ). Есть ли у Вас толковая ссылка на этот компонент. я скачал 2 библиотеки c www.torry.ru и ни одну из них не смог поставить, то ей одного не хватает, то другого. Может Вы мне что-то подскажите.


ЮЮ   (2003-03-13 06:27:00) [4]

Тогда непонятно зачем вообще нужен Edit1?
DBLookupComboBox как раз и предназначен для того, чтобы выбрать из выпадаешего списка нужный NAMVUL а в поле KVUL подставить код?
Главный недостаток DBLookupComboBox перед Edit1 состоит лишь в том, что нужно очень быстро набирать буква названия и при этом не видно, что ты набрал. Вся эта функциональность реализована в RxDBLookupCombo. Очень рекомендую, т.к. сам никогда не использую стандартный DBLookupComboBox. Более того RxDBLookupCombo позволяет позиционироваться не только по ключевому полю, но и по отображаемому тексту.


Igor Kashtanov   (2003-03-12 21:33:00) [5]

В DBLookupComboBox.ListSource стоит DataSource9 в котором находится база улиц, с полями: KVUL (1-e поле - код улицы, который мне необходимо отправить в другой DataSource1; 2-e поле NAMVUL наименование улицы, которое необходимо отобразить в DBLookupComboBox),
KeyField - KVUL;
ListField - NAMVUL.

DataSource - DataSource1, в который, собственно говоря и необходимо отправить KVUL. DataField - KVUL (Там она тоже так называется). Очень благодарен за ответ.


ЮЮ   (2003-03-11 04:33:00) [6]

Что у тебя стоит в DBLookupComboBox.ListSource, KeyField, ListField? Заполнены ли DataSource и DataField?


Igor Kashtanov   (2003-03-10 20:37:00) [7]

To ЮЮ:
То ли я туплю, то ли одно из двух. Сделал абсолютно все как показано. Все равно при вводе в Edit1.Text любых символов DBLookupListBox показывает одно и то же значение, где-то в середине набора данных. Чего делать - без понятия.... HELP!!!!!


ЮЮ   (2003-03-10 04:52:00) [8]

>DBLookupListBox1.KeyValue:=DVTable.FieldByName("NAMVUL").Value;
Если DBLookupListBox1.KeyField = "NAMVUL", то первые две строки излишни, достаточно DBLookupListBox1.KeyValue := Trim(Edit1.Text), если же DBLookupListBox1.KeyField другое, то и подставлять надо его: DBLookupListBox1.KeyValue := DVTable.FieldByName(DBLookupListBox1.KeyField).Value


Igor Kashtanov   (2003-03-10 01:46:00) [9]

procedure TAb.Edit1Change(Sender: TObject);
begin
DVTable.IndexFieldNames:="NAMVUL";
DVTable.FindNearest([Edit1.Text]);
DBLookupListBox1.KeyValue:=DVTable.FieldByName("NAMVUL").Value;
end;
Результат сей процедуры таков: находит одно значение посредине списка. Естественно не то, что нужно. Не могу понять в чем причина.


sunrider   (2003-03-09 23:12:00) [10]

Искать нужно не в DBLookup а в Dataset с ним связанным,
а затем присваивать
DBLookupComboBox.KeyValue:=DataSet.FieldByName(<имя KeyValue поля>).Value.


Igor Kashtanov   (2003-03-09 12:08:00) [11]

Нет, в ListBox есть такая штука .perform(LB_SelectString, ....)
А в DBLookup это не работает...


Романов Р.В.   (2003-03-09 08:45:00) [12]

Locate ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо