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

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

Работа с полем типа Date и соотв. визуальными компонентами [D5]


kalliopiy ©   (2002-07-17 17:40:00) 

Здравтствуйте!

Подскажите у кого какие есть идеи по поводу использования в программе TDateTimePicker (Каледарь в простонародье) в качестве визуального компонента для редактирования значений полей типа Date. Эта штучка, безусловно, очень удобна и симпатична, но есть одна проблема - она не позволяет оставить значение даты ПУСТЫМ, т.е. незаданным. А нужно сделать так, чтобы в БД эта самая дата записывалась по желанию (ну и соответственно отображалась только если там что-то записано).

Пока что применяю TDateTimePicker со свойством ShowCheckBox (так кажется), т.е. если установлен флажок - пишем в таблицу выбранную дату, если нет - пишем NULL. Однако, выглядит на экране это не слишком красиво: флажок снят, в таблице NULL, а пользователь все равно дату видит (пусть даже она и затененная).

Если кто-то что-то понял и может помочь - буду очень признателен!


ЮЮ   (2002-07-19 08:43:00) [1]

>Proton
>(что бы изменить дату на 20 лет нужно 20 раз нажать кнопку, или >вписать вручную)

а TDateTimePicker узнает по глазам пользователя, что надо изменить дату на 20 лет и тому достаточно нажать на кнопку 1 раз :-)


Proton   (2002-07-18 22:45:00) [2]

ты конечно поступил как истенный програмст
выкрутился, я вот в свое время просто кинул компонент из RxLib и все,
хотя он значиельно хуже DTP. (что бы изменить дату на 20 лет нужно 20 раз нажать кнопку, или вписать вручную)
посоветовать могу лишь одно - либо менять свойство Visible у DTP
DatatimePicker.visible := Cheackbox.Checked
или
DatatimePicker.visible := varIsNull(table1["BirthDay"])
либо использовать DataAware коппонент из EhLib - это то же самый DTP
но имеющий свойсnва Dataset и DataField - идеальное решение поставленной
задачи.


Val   (2002-07-17 19:11:00) [3]

вот не знаю, где они теперь. а вообще есть такая штука как поисковые сервера :)


kalliopiy   (2002-07-17 19:03:00) [4]

OK!

Тогда дай еще и ссылочку на нее - RX-lib.

Знаешь, у нас тут осталось буквально сто метров до асфальта :) - еще всего-лишь чуточку. Это на счет всемирной известности. Подскажи уж мне, лодарю эдакому, который пользуется, как это видно, только стандартными компонентами.


Val   (2002-07-17 18:48:00) [5]

А о чем рассказывать-то? всемирно-известная библиотека компонентов RX-lib с полезными исходничками :) В ней есть компонент DBDateEdit, который, как видно из названия, является DBAware, то есть, откладываете проблемы с Picker"ом в сторону :)


kalliopiy   (2002-07-17 18:31:00) [6]

> Val

Расскажи-ка поподробнее.
Пожалуйста.


Val   (2002-07-17 18:19:00) [7]

нехороший компонент для работы с бд :(
я использую такой-DBAware из RX"а.


Наверх

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