Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.22;
Скачать: CL | DM;

Вниз

DBGrid   Найти похожие ветки 

 
den74 ©   (2002-06-27 16:41) [0]

Друзья. Как сделать проверку вводимого значения в DBGrid.
Наприме ввожу в поле 2001 а выдается сообщение об ошибки.

Спасибо


 
mike kouzmine   (2002-06-27 16:59) [1]

А тип поля какой?


 
mike kouzmine   (2002-06-27 17:23) [2]

А какая ошибка?


 
Anatoly Podgoretsky ©   (2002-06-27 17:44) [3]

DBGrid данных не хранит и не запимается проверкой правильности ввода, этим занимает набор данных, выбери у него соответствующий обработчик, например BeforePost у TTable


 
den74 ©   (2002-06-27 17:46) [4]

поле Integer
ошибка: Вы уверено, что ввели правильно Yes No


 
VAleksey ©   (2002-06-27 17:50) [5]


> Anatoly Podgoretsky © (27.06.02 17:44)

ну вообще-то можно и на грид проверку нацепить :) если ОЧЧеНь надо.


 
den74 ©   (2002-06-27 17:51) [6]

как ее нацепить, простите я новичок


 
VAleksey ©   (2002-06-27 18:16) [7]

Где нибудь впаяй обработчик события типа OnGetText или Data или Change точно не помню. Завтра теперь только посмотрю ( если до тех пор не разберешся :) поверь это очень просто :) )
Удачи.


 
Roma ©   (2002-06-27 20:36) [8]

В стандартном дельфийском гриде этого (OnGetText или Data или Change) нет. В RxDBGrid"е, кажется, есть... Но не обязательно использовать RxDBGrid (а вот поставить RX Lib надо - очень интересно исходники посмотреть)...
Можно сделать TMyDBInplaceEdit = class(TDBGridInplaceEdit), и его подставлять DBGrid"у типа TMyDBGrid (тоже самодельному) с помощью CreateEditor. У TInplaceEdit"а есть метод UpdateContents, переписываешь его, ну и творишь любые проверки, или вызываешь событие (тобой же и определенное) TMyDBGrid.OnGetText, и в его обработчике творишь проверки...


 
Anatoly Podgoretsky ©   (2002-06-27 20:45) [9]

VAleksey © (27.06.02 17:50)
А зачем извращение?


 
VAleksey ©   (2002-06-28 07:50) [10]


> Anatoly Podgoretsky © (27.06.02 20:45)

ну просто так :) вдруг надо ?


> den74

ну как разобрался ? чиркни на мыло если что :)


 
mike kouzmine   (2002-06-28 10:04) [11]

Событие onExit колонки


 
mike kouzmine   (2002-06-28 10:11) [12]

А вообще проверь onValidate, AfterEdit, beforePost и прочие поля или таблицы которые дают это сообщение. Это не ошибка, запрос на подтверждение.


 
Zemal ©   (2002-06-28 10:24) [13]

Ну, господа, вы извращенцы... Что? Так никто и не пользовался полями Autocalculate? А зря! Вот там-то и можно обрабатывать корректно подобные случаи. Читайте хелпы, господа, или загляните в литературу... почти везде описывается как это работает. Хих... извращенцы... чего только не посоветуют. Я так счетаю, что если стоит лопата у крыльца, то надо ей копать, а не граблями извращаться! :) Логично?


 
vads ©   (2002-06-28 13:25) [14]

А может там все-таки поле типа DATE, а пытаются ввести INTEGER ???


 
BAY ©   (2002-06-28 22:04) [15]

Зачеи Autocalculate? Могет достаточно указать maxValue и minValue?


 
BAY ©   (2002-06-28 22:19) [16]

den74, разобрался?


 
kaif ©   (2002-06-28 23:51) [17]

Можно централизованно обработать все ошибки на стадии ввода в ячейку в событии DataSource.OnDataChange.
В него DataSet и Field передаются в качестве параметров.
На самом деле в BeforePost проверять не всегда возможно, так как множество вещей, например Required, проверяются до этой стадии.
А самое правильное - в объектах TField проверять. Там событие есть специально для этого предназначенное. Help по TField почитать нужно.


 
Polevi ©   (2002-06-29 10:53) [18]

TField.OnSetText



Страницы: 1 вся ветка

Текущий архив: 2002.07.22;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.01 c
1-70821
iii
2002-07-10 15:20
2002.07.22
Реестр. Как избежать ошибки?


7-70935
Gnom
2002-05-01 17:32
2002.07.22
Как наложить семафор?


3-70610
Work_NOV
2002-06-28 13:28
2002.07.22
Использование пакетов ORACLE в программе


14-70903
Pill
2002-06-23 11:57
2002.07.22
ищу компонент для построения трехмерных графиков


14-70897
sanilo
2002-06-24 12:30
2002.07.22
Теща