![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBGrid [D5, Paradox]
den74 © (2002-06-27 16:41:00)Друзья. Как сделать проверку вводимого значения в DBGrid.
Наприме ввожу в поле 2001 а выдается сообщение об ошибки.
Спасибо
Polevi (2002-06-29 10:53:00) [1]TField.OnSetText
kaif (2002-06-28 23:51:00) [2]Можно централизованно обработать все ошибки на стадии ввода в ячейку в событии DataSource.OnDataChange.
В него DataSet и Field передаются в качестве параметров.
На самом деле в BeforePost проверять не всегда возможно, так как множество вещей, например Required, проверяются до этой стадии.
А самое правильное - в объектах TField проверять. Там событие есть специально для этого предназначенное. Help по TField почитать нужно.
BAY (2002-06-28 22:19:00) [3]den74, разобрался?
BAY (2002-06-28 22:04:00) [4]Зачеи Autocalculate? Могет достаточно указать maxValue и minValue?
vads (2002-06-28 13:25:00) [5]А может там все-таки поле типа DATE, а пытаются ввести INTEGER ???
Zemal (2002-06-28 10:24:00) [6]Ну, господа, вы извращенцы... Что? Так никто и не пользовался полями Autocalculate? А зря! Вот там-то и можно обрабатывать корректно подобные случаи. Читайте хелпы, господа, или загляните в литературу... почти везде описывается как это работает. Хих... извращенцы... чего только не посоветуют. Я так счетаю, что если стоит лопата у крыльца, то надо ей копать, а не граблями извращаться! :) Логично?
mike kouzmine (2002-06-28 10:11:00) [7]А вообще проверь onValidate, AfterEdit, beforePost и прочие поля или таблицы которые дают это сообщение. Это не ошибка, запрос на подтверждение.
mike kouzmine (2002-06-28 10:04:00) [8]Событие onExit колонки
VAleksey (2002-06-28 07:50:00) [9]
> Anatoly Podgoretsky © (27.06.02 20:45)
ну просто так :) вдруг надо ?
> den74
ну как разобрался ? чиркни на мыло если что :)
Anatoly Podgoretsky (2002-06-27 20:45:00) [10]VAleksey © (27.06.02 17:50)
А зачем извращение?
Roma (2002-06-27 20:36:00) [11]В стандартном дельфийском гриде этого (OnGetText или Data или Change) нет. В RxDBGrid"е, кажется, есть... Но не обязательно использовать RxDBGrid (а вот поставить RX Lib надо - очень интересно исходники посмотреть)...
Можно сделать TMyDBInplaceEdit = class(TDBGridInplaceEdit), и его подставлять DBGrid"у типа TMyDBGrid (тоже самодельному) с помощью CreateEditor. У TInplaceEdit"а есть метод UpdateContents, переписываешь его, ну и творишь любые проверки, или вызываешь событие (тобой же и определенное) TMyDBGrid.OnGetText, и в его обработчике творишь проверки...
VAleksey (2002-06-27 18:16:00) [12]Где нибудь впаяй обработчик события типа OnGetText или Data или Change точно не помню. Завтра теперь только посмотрю ( если до тех пор не разберешся :) поверь это очень просто :) )
Удачи.
den74 (2002-06-27 17:51:00) [13]как ее нацепить, простите я новичок
VAleksey (2002-06-27 17:50:00) [14]
> Anatoly Podgoretsky © (27.06.02 17:44)
ну вообще-то можно и на грид проверку нацепить :) если ОЧЧеНь надо.
den74 (2002-06-27 17:46:00) [15]поле Integer
ошибка: Вы уверено, что ввели правильно Yes No
Anatoly Podgoretsky (2002-06-27 17:44:00) [16]DBGrid данных не хранит и не запимается проверкой правильности ввода, этим занимает набор данных, выбери у него соответствующий обработчик, например BeforePost у TTable
mike kouzmine (2002-06-27 17:23:00) [17]А какая ошибка?
mike kouzmine (2002-06-27 16:59:00) [18]А тип поля какой?