Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо