|
v7: Возможно-ли организовать контекстную подсказку с выбором значения | ☑ | ||
---|---|---|---|---|
0
BalBess
15.01.14
✎
08:54
|
Задача такая: (вроде где-то было, не смог найти)
На форме есть поле ввода. Нужно при нажатии каждой кнопки, чтобы появлялся список из строк содержащих введеную подстроку. Например, вводишь букву "Б", появляется подсказчик Бельгия, Болгария, Беларусь, нажимаешь "Е", остается Бельгия, Беларусь Причем можно мышкой выбрать значение (щелкнуть по нему), и это значение вставиться в поле Примерно как в поисковиках |
|||
1
ЧеловекДуши
15.01.14
✎
08:59
|
(0) Напиши своё ВК :)
|
|||
2
BalBess
15.01.14
✎
09:09
|
(1) - оно конечно хорошо, но..
мож как-то родным языком попробовать обойтись что уже пробовал (с помощью FormEx), на форме поле ввода типа строка //**************************************************************************** Процедура ПриНажатииКнопкиКлавиатуры(КодКлавиши, Alt, Shift, Ctrl , Символ, ФСО) Перем СписокФорм, ВыбЗначение; Если Форма.АктивныйЭлемент() = "стрВвода" Тогда // Сообщить("Нажата кнопка клавиатуры. " + КодКлавиши +" "+ Alt +" "+ Shift +" "+ Ctrl +" "+ Символ ); // как-то нужно получить введенное значение АтрФормы = СоздатьОбъект("АтрибутФормы"); АтрФормы.УстановитьАтрибут(Форма,"стрВвода"); ЗначениеАтр = АтрФормы.Значение; Сообщить(ЗначениеАтр); // формируем список, в соответствии с введенным значением СписокФорм = СоздатьОбъект("СписокЗначений"); // для простоты пока вручную заполним СписокФорм.ДобавитьЗначение(1, "Россия"); СписокФорм.ДобавитьЗначение(2, "Китай"); // открываем список в виде меню // теряется фокус с поля Если СписокФорм.ВыбратьЗначение(ВыбЗначение, , , , 1) = 1 Тогда // значение выбрано СимвПред = ""; СписокФорм.ПолучитьЗначение(ВыбЗначение, СимвПред); Сообщить(СимвПред); АтрФормы = СоздатьОбъект("АтрибутФормы"); АтрФормы.УстановитьАтрибут(Форма,"стрВвода"); АтрФормы.Значение = СимвПред; // не заполняется КонецЕсли; КонецЕсли; ФСО=1; КонецПроцедуры |
|||
3
Guk
15.01.14
✎
09:10
|
тут две подзадачи. первая, поймать событие ввода буквы в поле ввода и вторая, вывести варианты в список значений, подстраиваемый по месту ввода. первая задача много раз обсуждалась на форумах и вполне решаема, вторая задача реализуется штатными средствами, но будет работать очень долго, в зависимости от того, откуда тянутся данные. в любом случае, вторая задача скорее всего потребует прямых запросов...
|
|||
4
Mikeware
15.01.14
✎
09:13
|
||||
5
dedmoroz777
15.01.14
✎
09:15
|
(3) ну если там список стран, нафига запросы?
|
|||
6
Guk
15.01.14
✎
09:16
|
(5) я переборы не люблю. субд, кстати, тоже...
|
|||
7
BalBess
15.01.14
✎
09:23
|
(4) да, типа того. Где посмотреть
Список небольшой, не более 100 стран, хотя область применения большая, для контрагентов скорее всего через прямые запросы, но это уже вторая задача |
|||
8
BalBess
15.01.14
✎
09:30
|
(3) первая задача тоже не тривиально решается
событие поймать можно. проблема первая, при показе списка значений теряется фокус с этого элемента. проблема вторая, штатная обработка срабатывает после процедуры "ПриНажатииКнопкиКлавиатуры" и заменяет все что в ней было. Либо отключать штатный обработчик и отслеживать все кнопки.. |
|||
9
trad
15.01.14
✎
09:34
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |