Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.006 c
1-70692
SadStar
2002-07-11 02:42
2002.07.22
Запутался в трех строках кода при работе с TValueListEditor


14-70895
Роман Василенко
2002-06-21 10:39
2002.07.22
Ищу братьев по разуму (Advantage TDataset Descendant)


3-70607
denis_tkachov
2002-06-30 17:18
2002.07.22
TThread и TQuery


3-70672
Ptr
2002-07-02 14:03
2002.07.22
TSQLClientDataSet


14-70872
_landy
2002-06-24 07:09
2002.07.22
генератор html-отчетов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский