CftClub.ru
Клуб специалистов ЦФТ-Банк

Combo - валидация сразу после выбора, как?

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
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 Wink
Damir
Участник - экстремал


Вступление в Клуб: 29.03.2013
СообщениеПн Ноя 11, 2013 06:27    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
Очевидно Вам надо OnSelChange Wink

Если сработает - будет шикарно!
сегодня буду пробовать.
Damir
Участник - экстремал


Вступление в Клуб: 29.03.2013
СообщениеПн Ноя 11, 2013 06:48    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
Очевидно Вам надо OnSelChange Wink

Crying or Very sad
Нету такого события!
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

Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru