Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Damir Участник - экстремал
Вступление в Клуб: 29.03.2013
|
Пт Ноя 08, 2013 14:04  Combo - валидация сразу после выбора, как? |
|
Полезность: Нет оценки
|
Добрый день.
При выборе значения в комбобоксе на форме скрываются-отображаются другие контролы.
Беда в том, что валидатор (в котором действие происходит) срабатывает только при потере комбобоксом фокуса.
А хотелось бы, чтобы сразу - не дожидаясь потери фокуса срабатывал валидатор.
Можно как-нить? |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Пт Ноя 08, 2013 14:36   |
|
Полезность: Нет оценки
|
в клиент - скрипте лови
Control_OnFocus(bGet As Boolean)
Описание
Событие возникает при получении элементом управления фокуса при переходе по клику мышки или с помощью клавиатуры:
bGet = TRUE – получили фокус;
bGet = FALSE – потеряли фокус.
Пример
‘Процедура Text3_OnFocus(GotIt) будет вызвана с аргументом GotIt = True при получении фокуса контролом Text3 и с GotIt = False при потере фокуса
Public Sub Text3_OnFocus(GotIt)
If GotIt then
Text3.BackColor = &hEBFFFF
Else
Text3.BackColor = &h909090
End If
End Sub
и дергай валидатор
Call Form1.ScriptServerValidate(Nothing, "V_AXTYNG") |
|
 |
Damir Участник - экстремал
Вступление в Клуб: 29.03.2013
|
Пт Ноя 08, 2013 14:59   |
|
Полезность: Нет оценки
|
vtar пишет: | в клиент - скрипте лови |
vtar, не то....
Комбобокс....вот список раскрыли мышкой и чё-то выбрали...
Уже выбрали - выпадающий список пропал, то что выбрали - в окне ввода (EditBox)... но фокус еще на этом combo (на edit).
И вот тут мне надо событие - еще ДО того как фокус уйдет.
Мне надо событие 'скрылся выпадающий список в комбобоксе' |
|
 |
Damir Участник - экстремал
Вступление в Клуб: 29.03.2013
|
Пт Ноя 08, 2013 15:04   |
|
Полезность: Нет оценки
|
В терминах Делфи это было бы событие OnAfterDropDown (наверное) |
|
 |
Damir Участник - экстремал
Вступление в Клуб: 29.03.2013
|
Пт Ноя 08, 2013 15:18   |
|
Полезность: Нет оценки
|
Вообще, нужно поведение combo такое, чтобы после выбора значения из списка сразу же автоматом нажимался Enter (или табуляция).
Т.е. чтобы потеря фокуса происходила. |
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Пт Ноя 08, 2013 16:55   |
|
Полезность: Нет оценки
|
Событие имеет смысл только для контролов типа "Кнопка". Возможно сработает на списке, я сам не проверял
Цитата: | Синтаксис
Public Sub Control_OnAfterClick()
Описание
Событие вызывается для текущего контрола тип "Кнопка" после нажатия и окончания всех действий с ним, независимо от результата валидации или изменения значения контрола.
Пример
Код: | Public Sub BtnOLE1_OnAfterClick()
MsgBox "Была нажата кнопка BtnOLE1"
End Sub |
|
_________________ всегда есть как минимум 2 выхода |
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Пн Ноя 11, 2013 02:39   |
|
Полезность: 1
|
если в клиент-скрипте набрать имя контрола и поставить точку,
то через некоторое время вывалиться список доступных методов и событий, для комбо вывалились эти
_OnSelChange _OnFocus _OnKeyDown
Очевидно Вам надо OnSelChange  |
|
 |
Damir Участник - экстремал
Вступление в Клуб: 29.03.2013
|
Пн Ноя 11, 2013 06:27   |
|
Полезность: Нет оценки
|
Alkov пишет: | Очевидно Вам надо OnSelChange  |
Если сработает - будет шикарно!
сегодня буду пробовать. |
|
 |
Damir Участник - экстремал
Вступление в Клуб: 29.03.2013
|
Пн Ноя 11, 2013 06:48   |
|
Полезность: Нет оценки
|
Alkov пишет: | Очевидно Вам надо OnSelChange  |
Нету такого события!
OnFocus и OnKeyDown - есть (без подчерка).
OnSelChange - нету.
PS:
Т.Я. 7.1.2.2
АСД 6.33.10
еще какие-то цифири: 6.332.0.42
опять .опа. |
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Пн Ноя 11, 2013 10:56   |
|
Полезность: Нет оценки
|
ТЯ 7.3.0.6
Admin332_72
Novo116_87 |
|
 |
devor Профи
Вступление в Клуб: 13.02.2012
|
Пн Ноя 11, 2013 11:25   |
|
Полезность: Нет оценки
|
Цитата: |
Приложение 4. Создание клиент-скрипта > Таблица свойств, событий и методов, доступных из клиент-скрипта > Таблица свойств, событий и методов > OnSelChange
Синтаксис
Public Sub Control_OnSelChange()
Описание
Событие имеет смысл только для контролов типа "Поле со списком".
Обработчик события OnSelChange вызывается каждый раз при выборе пользователем значения из выпадающего списка. Если из списка выбирается то же самое значение, то событие OnSelChange все равно срабатывает.
Примечания
Событие поддерживается, начиная с 116 версии АРМа "ЦФТ – Навигатор" .
Если в обработчике события используется вызов серверной валидации (Runtime.ServerValidate), то для корректной работы рекомендуется установить контролу свойство UpdateOnChange = True. Подробнее см. пункт UpdateOnChange.
Пример
Public Sub Combo1_OnSelChange()
MsgBox "Произошла смена значения у элемента типа ""Поле со списком"""
End Sub
|
|
|
 |
|