Форум: "Базы";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c