Форум: "Базы";
Текущий архив: 2002.08.12;
Скачать: [xml.tar.bz2];
ВнизПроверка значений в DBGrid e Найти похожие ветки
← →
Genry (2002-07-23 15:21) [0]Здравствуйте господа. Вопрос возможно чайнический: при вводе неверного значения в поле DBGrid"a (Тип поля ftDate) и смене фокуса появляется сообщение EConvertError "х is not valid date".
Также при переходе на новую колонку, если не заполнены обязательные поля, появляется EDatabaseError "Field x must have a value".
Как перехватить эти исключения и где можно встроить свою проверку значения поля до проверки основным обработчиком?
Хочется общаться с пользователем по-русски.
Спасибо.
← →
Johnmen (2002-07-23 15:29) [1]Посмотри события связанные с TField.
(Поля в списке FieldEditor"а)
← →
Genry (2002-07-23 15:35) [2]Если Вы имеете в виду событие TField.OnValidate, то оно происходит непосредственно перед записью значения fild-a в базу. А исключения, которые я описал происходят раньше.
← →
XanderMan (2002-07-23 15:42) [3]Можно попробовать поставить обработчик на событие OnColExit и в нем проверять правильность введенных значений
VCL Reference
TDBGrid events
Occurs just before a cell in the grid loses input focus.
property OnColExit: TNotifyEvent;
← →
Johnmen (2002-07-23 15:42) [4]Лично я предпочитаю обрабатывать OnSetText.
← →
Lusha (2002-07-23 15:44) [5]>Genry (23.07.02 15:21)
Хочется общаться с пользователем по-русски.
Смотрите исходники dbconsts.pas... Константу SFieldRequired например... Поищите руссифицированный вариант этого файла, если самому переводить лень... И все дела... =)
← →
Genry (2002-07-23 15:57) [6]Спасибо всем. Отдельно - XanderMan. Обнаружил, что если существует обработчик OnColExit, то, при неправильном значении, поле просто очищается и исключения не возникает.
Спасибо!
← →
Johnmen (2002-07-23 16:06) [7]>Genry (23.07.02 15:57)
А если происходит вертикальное перемещение ??? Ведь тогда OnColExit не вызывается !
И что ты будешь делать ?
:o)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.08.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c