Показать сообщение отдельно
Старый 10.02.2011, 10:51   #1  
vanokh is offline
vanokh
Участник
 
108 / 63 (3) ++++
Регистрация: 23.10.2008
обязательное для заполнения поле в уже созданной записи
Есть запись в некоторой таблице (создаваемая в коде, без участия пользователя), у которой не заполнено одно поле, скажем Комментарий. Запись показывается в гриде на форме пользователю и требуется, чтобы он ее обязательно (!) заполнил. То есть не позволять переходить на другие записи и контролы.

Естественно, поле помечено как обязательное (Mandatory). Но если пользователь ничего в записи не трогает, то оно так и остается незаполненным.

Пробовал перекрывать leaveRecord и вызывать в нем validateWrite, получил странный эффект - дает переходить на другие контролы, а эту запись как раз не дает редактировать, каждый раз вываливаясь с ошибкой, что поле не заполнено...

Единственный пока найденный вариант - в active, если поле не заполнено, заполнять его пробелом, тогда запись становится измененной и вызывается validateWrite. Но это как-то криво...

Собственно вопрос, вернее один из двух:
1. Как не давать переходить на другие записи/контролы, если не проходит validateWrite?
2. Как сделать запись измененной, фактически не меняя поля? В этом случае сработает validateWrite, что и надо.