|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от Predatore
![]() Возможно я не уловил сути триггера OnInputChange, т.к. я пытался в нём делать проверку, есть ли текст в поле TextBox'a, а он там видимо появляется только после валидейта, я правильно понял? А в OnAfterInput в переменной Text как раз таки и идёт поток именно вводимой информации. Т.е. если я введу стринг 'абв', то этот триггер тоже сработает 3 раза, а переменная Text будет меняться следующим образом, сначала Text='а', потом Text='аб' и в конце Text='абв', я всё правильно понял?
OnAferInput() срабатывает только один раз, a именно после того как вы сделали изменения в TextBoxe и ПОКИНУЛИ поле (посредством ENTER или TAB) т.е. закончили ввод данных, и переменная TEXT содержит ВСЁ содержимое (извините за тавтологию) поля. Этот триггер срабатывает также без всяких изменений, т.е. при F2-Validate (т.е. щёлкаете в поле, нажимаете 2 раза F2 и ENTER, тем самым валидируете поле, не произведя в нём никаких изменений). Последовательность срабатывания некоторых триггеров в (форме и таблице) при вводе данных в текстбоксе в форме: 1. OnInputChange() в текстбоксе на форме 2. OnAfterInput() в текстбоксе на форме 3. OnValidate() поля в таблице 4. ОnValidate поля в текстбоксе на форме 5. ОnAfterValidate поля в текстбоксе на форме ==> внимание: ERROR в этом триггере закрывает форму, что не всегда красиво |
|