** Nick |
Отправлено: 22.11.2005, 15:24 |
|
Не зарегистрирован
|
в компонентах EhLib и других есть событие OnChange
но оно вызывается при любом действии таком как нажатие клавиатуры или скролинг выпадающего списка
т.е. если поставить обработчик который на любое изменение делает какие либо "тяжелые" работы то начнуться заметные тормоза.
есть ли какой либо метод который вызывается когда пользователь наконец-то ввел данные (наконецто меняется Value) и нужно это дело обработать.
Можно конечно обработать нажатие Enter или выход из поля но это мне каж недостаточно.
Для примера:
Есть два справочника, второй подчинен первому.
на форме два DBLookupComboBoxEh
при изменении данных в первом поле
перестраивается List второго DBLookupComboBoxEh
если перестраивать его при каждом чихе в первом
будет "круто" при маленьких справочниках и
"глючно" при больших
|
|
Guest |
Отправлено: 22.11.2005, 15:26 |
|
Не зарегистрирован
|
еще ...
в моем варианте EhLib компоненты используются не как DataAware
поэтому события измения полей не подходят |
|
avc* |
Отправлено: 22.11.2005, 15:58 |
|
Не зарегистрирован
|
Мне хватает анализа при OnExit |
|
Guest |
Отправлено: 22.11.2005, 16:44 |
|
Не зарегистрирован
|
хм
а как определить изменилось ли значение
потому как если изменилось то нужно менять Value у подлиненного лукапа если нет то лучше оставить как есть |
|
Guest |
Отправлено: 22.11.2005, 17:32 |
|
Не зарегистрирован
|
Есть у EhLib такое OnUpdateData проглядел
только оно не проверяет изменилось Value или нет
можно конечно делать снимок
но может уже есть такая возможность нужно определить изменилось ли Value |
|
AVC |
Отправлено: 23.11.2005, 11:56 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
а как определить изменилось ли значение
|
OnKeyDown / Press — если было нажатие алфавитноцифровой (+del+BS) клавиши считаю, что редактирование было. В более критической ситуации (типа вашего примера) запоминаю значений перед входом в редактор и сравниваю после выхода. |
|