04.10.2005, 12:32 | #1 |
Участник
|
пересчет полей на форме
Есть форма с привязанным к ней DS, на ней есть поле A при изменении пользователем значений в этом поле , сразу(!) должны вычисляться значения в полях B и C.
Но если результат вычислений не соответствует определенным критериям, то откатывать(!) изменение поля A, т.е. не давать изменять его. и соответственно оставлять нетронутыми B и С. Делаю так: Произвожу в методе modified поля A на DS вызываю пересчет значений полей B и C. Анализирую результат и соответственно либо присваиваю получившееся значение полям B и C. Либо присваиваю в тч и текущему A orig(). Но вcе это криво, тк если пользователь несколько раз менял значение поля A то orig вернет не последнее измененное значение, тк сохранений при переходе по полям текущей записи не происходит(можно делать принудительное сохранение, но эт совсем уж не здорово). И вообще хорошо бы в ком-нить validate производить проверки, а не руками orig прописывать, но при этом не хочется 2 раза пересчитывать значеения полей(validate и modified). Можно конечно сохранять его в кой-нить переменной но тож некрасиво это. Задача элементарная, подскажите как сделать это по-человечески. |
|
|
|