Вниз
Скачать: CL | DM;

Проверка значений в 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
1-35276
Kurt
2002-07-30 16:22
2002.08.12
Все о том же поиске по тексту (RichEdit, Memo)! Большие обьемы те


1-35317
SemFLY
2002-07-24 01:17
2002.08.12
Заполнение текстового документа из программы...


3-35175
вумный
2002-07-22 16:04
2002.08.12
Свой DataBase Desktop на Delphi


6-35398
Guardian
2002-05-30 07:32
2002.08.12
Отключение от Ineta


1-35313
Nico1a
2002-07-29 19:35
2002.08.12
TMemo




   Наверх