creater |
Отправлено: 09.07.2004, 19:34 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 120
|
Задача такая: есть записи в поле Name, необходимо с помощью DBLookupCombobox отображать допустим только всех Ивановых, т.е. Иванов Иван, Иванов Петр и т.д.
Использую компонент DBLookupComboboxEh1.
На событие OnDropDown вешаю следующее:
читаю из ini файла Иванова, затем делаю
IBTable1->Filter = "NAME like '%" + "Иванов" + "%'";
IBTable1->Refresh();
Проблема состоит в том, что при открытии списка с именами в DBLookupComboboxEh1, перед открытием списка наблюдается значительная пауза.
Как ускорить вывод записей в DBLookupComboboxEh1...?
Заранее большое спасибо! |
|
AVC |
Отправлено: 12.07.2004, 08:06 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Filter всегда работет медленне чем Select ... Where. Если база позволяет — напишите запрос параметром |
|
Admin |
Отправлено: 12.07.2004, 16:24 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
1/ Проиндексируйте таблицу по полю Name, если этого еще не сделали.
2/ Попробуйте вместо
IBTable1->Refresh();
поставить
IBTable1->Filtered = false;
IBTable1->Filtered = true;
возможно ускорится, а возможно и нет.
|
|
creater |
Отправлено: 15.07.2004, 04:53 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 120
|
Здравствуйте.
Попробовал использовать IBDataSet, но почему-то в списке у DBLookupComboboxEh1 ничего не отображается.
На событие OnDropDown вешаю следующее:
CODE |
IBDataSet1->DisableControls();
IBDataSet1->Close();
IBDataSet1->ParamByName("IN_NAME")->AsString = user_org;
IBDataSet1->Open();
IBDataSet1->EnableControls();
|
У IBDataSet1 в свойстве SelectSQL, прописано,
select
NAME,
NIKNAME
from Table1
where
NAME LIKE :IN_NAME and
NIKNAME LIKE :IN_NIKNAME
У DBLookupComboboxEh1 в ListField стоит NIKNAME, в KeyField стоит NIKNAME.
Относительно предыдущих сообщений, поле NIKNAME проиндексировано.
Подскажите, что может быть не так? |
|
olegenty |
Отправлено: 15.07.2004, 14:57 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
Тема закрылась (в результате переписки по почте). Сошлись на мнении, что автор топика, как он часто делает, приступил к реализации, не разобравшись до конца в мат. части предмета. Ныне всё корректно выпадает куда надо и откуда надо.
|
|
creater |
Отправлено: 16.07.2004, 10:52 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 120
|
QUOTE (olegenty @ 15/07/2004, 15:59) | Тема закрылась (в результате переписки по почте). Сошлись на мнении, что автор топика, как он часто делает, приступил к реализации, не разобравшись до конца в мат. части предмета. Ныне всё корректно выпадает куда надо и откуда надо. |
;-) |
|