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

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

Проблемка с использованием TDBCheckBox [D6, XP]


Abcdef123 ©   (2007-05-28 11:11:00) 

Здравствуйте, Мастера.
Есть символьное поле,длина 1символ. Мне надо на форме связать это поле с компонентом  TDBCheckBox. Когда значение поля - буква Y, то надо отобразить TDBCheckBox checked (с галочкой). Эта часть у меня работает.
А вот если поле пустое '' или Null, то надо чтоб компонент был без галочки. Но, тут у меня не работает, когда наталкивается на такую запись, то комбобокс переходит в состояние cbGrayed, хотя даже свойство AllowGrayed = false.
Как я правильно должна прописать свойство ValueUnchecked, чтоб у меня компонент "понимал" правильно пустое значение поля??
P.S.Я пробовала разные варианты для свойства ValueUnchecked - оставляла пустым, еще так ''. Эти варианты не прошли.


ЮЮ   (2007-05-30 04:25:00) [1]


> Я этого не умею пока делать, даже не знаю с "какого конца"
> браться,


1) ValueUnchecked установить равным, например 'N'
1) Добавить поля в коллекцию полей набора данных (Fields Editor)
2) У злосчастного поля написать обработчики OnSet(Get)Text таким образом, чтобы он выдавал 'N' во всех случаях, если не 'Y' и наоборот, устанавливал '', если введено 'N'


zorik   (2007-05-29 14:47:00) [2]

А если добавить calculated поле в которое если null записывать "N", а если "Y" то "Y". Хотя это как-то неправильно


Abcdef123   (2007-05-29 05:41:00) [3]

To ЮЮ [7]
Я этого не умею пока делать, даже не знаю с "какого конца" браться, мне надо на это много времени,   :-(((
а мне эту проблему надо решить как говорится уже "вчера".  
Ну, если других вариантов ни у кого нет... :-\

В любом случае, спасибо за отклики!


ЮЮ   (2007-05-28 12:34:00) [4]

Если не работает так, то
1) писать OnSet(Get)Text TField-у, а  ValueUnchecked, как в Help-е
2) писать наследник TDBCheckBox, чтобы понимал пустое значение ValueUnchecked правильно.


Abcdef123   (2007-05-28 12:28:00) [5]

To [5] пробовала - так тоже не работает :-((


ЮЮ   (2007-05-28 12:13:00) [6]

Как я правильно должна прописать свойство ValueUnchecked, чтоб у меня компонент "понимал" правильно пустое значение поля??

судя по коду компонента что-то типа ';'


Abcdef123   (2007-05-28 11:52:00) [7]

Ой, извините, что не уточнила насчет СУБД - Advantage   (dbf файлы с cdx  индекстными файлами)


Sergey13   (2007-05-28 11:35:00) [8]

> [2] Abcdef123   (28.05.07 11:31)

А что за СУБД? Что значит "чтоб поле было пустым"? Null? Пробел? Пустая строка? Разные СУБД по разному трактуют такие "пустоты".


Abcdef123   (2007-05-28 11:31:00) [9]

To [0]
Конечно, это сработало бы, без сомненийЯ бы в этом случае сюда не обратилась бы со своей проблемой. Но, руководитель проекта мне четко определил, чтоб поле было пустым и другие варианты не обсуждаются. :-(


Sergey13   (2007-05-28 11:18:00) [10]

> [0] Abcdef123   (28.05.07 11:11)

А если подойти к решению с другого конца и определить все пустые поля в таблице как N (по аналогии с Y)?


Наверх

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