Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.08;
Скачать: CL | DM;

Вниз

Хочу узнать мнение в подходах решения след.задачи   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
14-24177
studentik
2002-07-11 14:58
2002.08.08
Ищу конвертер из dbf или csv формата в формат InterBase


1-24094
novice_al
2002-07-25 14:29
2002.08.08
По поводу формы


1-23997
iNew
2002-07-26 18:19
2002.08.08
Прочита в хелпе про stdcall и др. дериктивы и ничё не понял,


14-24215
MIFI
2002-07-14 22:18
2002.08.08
CMEII и GMT что это и откуда


1-24111
V.Turecky
2002-07-26 18:17
2002.08.08
Как программно изменить метку тома винчестера?