Форум: "Базы";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
ВнизХочу узнать мнение в подходах решения след.задачи Найти похожие ветки
← →
kserg@ukr.net (2002-07-19 13:46) [0]Народ, подскажите вар-ты возможных решений для след.проблемки.
Может кто вообще другой подход мне подскажет.
Вообщем, в любом случае буду признателен.
Есть модал.форма ввода данных в БД. На ней куча TEdit-ов.
Для удобства ввода юзером есть алгоритм "быстрого ввода", суть котр.: по событию TEdit.OnChange осуществляется поиск в БД через параметризованый SQL, рез-ты котр. вывожу в DBGrid.
Сам DBGrid изначально невидим, а в событии TEdit.OnEnter я поизционирую Grid в нужное место под TEdit-om и делаю его видимым.
В TEdit-e юзер может набирать слово, или нажать <вниз> / <вверх>
для прокрутки в DBGrid-e или <Enter> для выбора нужного значения из DBGrid и подстановки его в TEdit.
Затем, по событию TEdit.OnExit делаю Grid невидимым.
Алгоритм в общем мною отработан, но вот осталась одна неприятная мелочь.
Проблемка в том, что юзер набирая слово и затем видя нужное слово в Gride интуитивно пытается сделать выбор из Grid-a не нажатием <Enter>, а ткнув мышой. А это приводит к тому, что срабатывает TEdit.OnExit и вместо выбора Grid просто скрывается.
Какие будут предложения?
← →
kalliopiy (2002-07-19 13:56) [1]Это хорошо, что ты вот так все расписал, но лучше бы ты на словах рассказал какая у тебя задача, т.е. что бы тебе хотелось получить на выходе. Я так понимаю, что необходимо дать возможность пользователю делать ввод с подстановкой. А нельзя ли просто использовать LookupComboBox?
Во всяком случае твой вариант с видимостью/невидимостью грида - не лучшее решение, поскольку такое моргание никого в восторг не приведет...
← →
kaif (2002-07-19 14:29) [2]Человек хочет сделать контекстное меню с реакцией по нажатию каждой клавиши, по моему. Это хорошо смотрится. Просто Grid - слишком тяжелый компонент для отображения такого списка. Лучше сделать свой компонент вместо TEdit для этой цели. Хотя это не так просто... Но можно посмотреть, как сделаны разные TDBComboBox- ы и понять принцип.
← →
kserg@ukr.net (2002-07-19 14:38) [3]>kalliopiy © (19.07.02 13:56)
>А нельзя ли просто использовать LookupComboBox?
А разве можно из LookupComboBox внести значение в TEdit, при этом не меняя значения LookupComboBox?
← →
kalliopiy (2002-07-19 14:39) [4]
> kaif © (19.07.02 14:29)
Есть такие штуки. Надо ему взять RxLib. Там по-моему как раз то, что нужно есть.
← →
kserg@ukr.net (2002-07-19 14:45) [5]>kalliopiy © (19.07.02 14:39)
>Есть такие штуки. Надо ему взять RxLib.
Вот это уже ближе к телу :-)
А чем конкретно надо воспользоваться:
RxDBLookupCombo1 или RxLookupEdit1 ?
← →
kalliopiy (2002-07-19 14:48) [6]
> А чем конкретно надо воспользоваться:
> RxDBLookupCombo1 или RxLookupEdit1 ?
Здается мне, что лучше взять RxLookupEdit. Хотя два эти компонента достаточно похожи. Если у тебя к ним хелп есть, я думаю ты разберешься.
← →
kserg@ukr.net (2002-07-19 14:55) [7]Хелпа у меня к сожалению нет.
Взял RxLookupEdit1, но видать не включил какую-то "птичку", но список при вводе не открывается.
← →
kaif (2002-07-19 15:01) [8]Может, там есть DropDown := True или метод DropDown. Вызови его по KeyPressed.
← →
kserg@ukr.net (2002-07-19 15:05) [9]Увы, всё таки это немного нето: в RxLookupEdit1 поиск идет по первым символам, а в моем вар-те - поиск выполнялся через SQL по условию like "%%", соот-но юзер при вводе видит постоянно уменьшающийся список со всеми значениями, подходящими к ключевому слову.
← →
kalliopiy (2002-07-19 15:05) [10]Да вы чего ребята?
Установил правильно LookupSource, LookupField, LookupDisplay ?
Тогда поставь в false PopupOnlyLocate и стартуй, так сказать!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c