Текущий архив: 2004.06.13;
Скачать: CL | DM;
ВнизНужно выводить ограниченный список в DBLookupCombobox Найти похожие ветки
← →
Tananda (2004-05-18 10:26) [0]Нужно выводить ограниченный список в DBLookupCombobox, т.е. храню последние 200 используемых записей и выдаю их по умолчанию. А если значение не находится в отфильтрованном списке, то искать в общем (огромном). Проблема: не могу перехватить событие, что значение не найдено (если не найдено, то он просто игнорирует нажатые кнопки). Может кто подскажет легкий способ решения проблемы, может компоненты такие есть. Уровень пользователей у меня предпенсионный, так что дополнительные действия с их стороны по возможности надо исключить
← →
Курдль © (2004-05-18 10:28) [1]
> Может кто подскажет легкий способ решения проблемы, может
> компоненты такие есть.
Есть такие компоненты! TQuery и его наследники!
← →
Tananda (2004-05-18 10:32) [2]Ну да, TQuery наверное самый визуальный компонент из всех визуальных :(
Отфильтровать я могу, и локейт сделать могу, как это в LookupCombobox реализовать (или типа LookupCombo...)
← →
Курдль © (2004-05-18 10:39) [3]
> Ну да, TQuery наверное самый визуальный компонент из всех
> визуальных :(
А какими конкретно Вы пользуетесь для доступа к MSSQL?
И опишите задачу точнее, а то не всем понятно (типа меня).
Как выводить ограниченный список, не понятно? Или как фильтровать не понятно? Или надо найти конкретное значение?
Цель-то какая?
Может мне рискнуть - повторить опыт телепатии некоторых аборигенов?.. Вам не контекстная фильтрация нужна (типа вводишь символ в окошко редактора - список сужается до записей, в названии которых есть этот символ, потом - уже 2 символа и т.д.)?
← →
Sergey13 © (2004-05-18 10:45) [4]2Tananda (18.05.04 10:32) [2]
>Ну да, TQuery наверное самый визуальный компонент из всех визуальных :(
Ну да, DBLookupCombobox наверное самый подходящий визуальный компонент из всех визуальных для работы с огромными наборами данных. 8-)
← →
Tananda (2004-05-18 10:48) [5]Куда ж конкретней? Проблема: не могу перехватить событие, что значение не найдено (если не найдено, то он просто игнорирует нажатые кнопки)
С запросом я всё могу сделать. Но мне нужно событие, по которому я узнаю что у купированном списке значение не найдено. А Lookupcombo такого события не генерит.
Как вариант решения: я рядом кнопку кидаю и бабулька сама на нее нажимает чтоб выбор был из полного списка, если в кратком она не нашла. Но это еще одна функция на бабульку. Я всего лишь хочу заставить комп САМОМУ искать значение в другом списке, если в данном не найдено.
← →
Tananda (2004-05-18 10:51) [6]2Sergey13
Сама вижу что не самый. Он постепенно стал большим, а огромным еще не стал. А как надо то? А то шутить все молодцы...
← →
Ega23 © (2004-05-18 10:54) [7]А чем Locate тебя не устраивает?
← →
Курдль © (2004-05-18 10:55) [8]
> Куда ж конкретней?
Да нет пределов совершенствования! Здесь же бывают индивидуумы разных умственных способностей... Я вот, например, так и не понял :(
Если хотите порадовать бабульку - сделайте, как я советовал - контекстный поиск по всему НД.
Если хотите "на принцип" решить своим путем - попробуйте Locate.
(По секрету - Lookupcombo много чего полезного не генерит!)
← →
Ega23 © (2004-05-18 10:57) [9]А если ты так бьёшься за минимизацию действий пользователя, то представь на секунду: что будет если бабулька СЛУЧАЙНО!!! нажала не ту букву? Такого слова программа в данной выборке не найдёт и пойдёт колбасить здоровую выборку.
Делай кнопку "расширенный поиск" и не парься с событиями.
← →
Sergey13 © (2004-05-18 10:57) [10]2Tananda (18.05.04 10:51) [6]
>А как надо то?
Как надо не знаю, но я делаю отдельную формочку с гридом, кнопкой ОК и примочками (опционально) для поиска в гриде.
← →
Курдль © (2004-05-18 11:06) [11]
> А как надо то?
На вкус, цвет, безвкусицу и дальтонизм - товарища нет!
Стандарт, принятый у нас в конторе - в каждой форме, имеющей табличные данные, на тулбаре иметь редактор контекстной фильтрации, и фильтровать записи по принципу содержания введенной в этот редактор подстроки и поля записи, соответствующего выбранному полю грида.
Т.е. для поиска кликаешь на любом столбце грида и начинаешь вводить искомый контекст в редактор. По мере ввода список в гриде уменьшается до отфильтрованного. Чтобы вернуть все взад - очищаешь редактор фильтрации.
← →
Tananda (2004-05-18 11:43) [12]Толи я вас не понимаю, то ли вы меня...
Вот представьте, нужно вводить кучу параметров на формочке, в том числе город, который находится в комвобоксе и берется из базы. Городов много, пользуются штуками 200-ми.
2Sergey13
Делать отдельную формочку с гридом - для чего? Чтобы найти Красноярск?
2Ega23
Представляю, сейчас без фильтров работает. будет тормозить, но работать, лучше ошибаться не будут.
2Курдль
Нету грида, есть форма заполнения параметров отправления.
← →
Курдль © (2004-05-18 11:53) [13]
> Вот представьте, нужно вводить кучу параметров на формочке,
> в том числе город, который находится в комвобоксе и берется
> из базы. Городов много, пользуются штуками 200-ми.
1. Стандартный LookUpComboBox имеет ф-цию поиска по начальному фрагменту (это я так...).
2. Фильтрация - это не примочка грида, а алгоритм работы с набором данных.
← →
ЮЮ © (2004-05-19 03:16) [14]>т.е. храню последние 200 используемых записей
Неужели наити "Красноярск" в списке из 200 элементов прощее, чем в списке из 2000, скроллируя список? Но если не листать, а ввести в поле "Кра", то ты и так позиционируешься в списке, начиная с Кра.. и какая тебе разницы, сколько строк осталось до и сколько ещё есть после.
Может просто вместо стандартного DBLookupComboboх-а, в который надо вводить с пулеметной скоростью для позиционирования по нескольким символам, использовать Rx[Jv]DBLookupCombo ?
← →
Sergey13 © (2004-05-19 08:40) [15]2Tananda (18.05.04 11:43) [12]
>Делать отдельную формочку с гридом - для чего? Чтобы найти Красноярск?
Ну а чем плохо то? Если еще вспомнить, что бывают и одинаковые названия городов в разных областях, то...
Я тебе совет дал, как вариант, а уж воспользоваться ли им - это твое дело.
Страницы: 1 вся ветка
Текущий архив: 2004.06.13;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.025 c