Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-23974
tttt_tttt
2002-07-26 20:58
2002.08.08
Эксперт: кол-во строк в проекте


1-24116
Smok_er
2002-07-23 18:44
2002.08.08
Проблема с TembeddedWB


1-24082
URustam
2002-07-26 14:03
2002.08.08
Помогите!!!


14-24196
SDK
2002-07-13 06:22
2002.08.08
SDK


1-24071
lpp
2002-07-26 12:25
2002.08.08
InstallShield Express for Delphi 5





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский