Шаг 7.
Компоненты библиотеки RX.
Вкладка RX DBAware. Компонент TDBDateEdit

    На этом шаге мы рассмотрим компонент TDBDateEdit.

    Компонент TDBDateEdit (рис.1) – ориентированный на работу с базами данных компонент для редактирования даты. Установленное значение свойства Date становится новым значением поля в БД, если значение свойства ReadOnly компонента TDBDateEdit = False.


Рис.1. Компонент TDBDateEdit

   Компонент TDBDateEdit является наследником TDateEdit и имеет все те же свойства и методы, и дополнительно имеет свойства, необходимые для работы с полями базы данных.

   Компонент TDBDateEdit может быть применен к тем полям наборов данных, которые позволяют чтение и присвоение значений через свойство AsDateTime.

    Рассмотрим некоторые свойства компонента:

Таблица 1. Свойства и методы компонента TDBDateEdit.
Свойство Описание
property Date: TDateTime; Свойство Date доступно во время выполнения программы и позволяет задать либо прочитать значение даты в компоненте TDateEdit в формате TDateTime.
property BlanksChar: Char; Свойство задает символ, используемый в маске даты для заполнения пустых знакомест. По умолчанию - пробел (#32).
procedure CheckValidDate; Метод служит для проверки правильности ввода даты в компоненты класса TDateEdit, TDBDateEdit. В случае неправильного значения вызывает исключительную ситуацию EConvertError и, если возможно, делает строку редактирования активной.
property DefaultToday: Boolean; Если свойство DefaultToday = True, то при ошибках ввода значения даты, либо при пустой строке редактирования, свойство Date будет возвращать значение текущей даты.
function GetDateMask: string; Функция GetDateMask возвращает маску, в соответствие с которой происходит форматирование даты в компонентах TDateEdit и TDBDateEdit. Маска формируется на основании текущих установок Windows с учетом установленного значения глобальной переменной FourDigitYears из модуля DateUtil.
property PopupVisible: Boolean; Свойство (read - only and runtime - only) имеет значение True, если в настоящее время "развернут" выпадающий календарик (используемый при значении свойства CalendarStyle = csPopup), False - в противном случае.

   Аналогично компоненту TRxDBComboEdit, компонент TDBDateEdit можно связать с таблицей и редактировать определенные поля.

   Поместим на форму компоненты RxDBGrid1, Table2, DataSource2 – для связи базы данных и таблицы, DBDateEdit1 (рис.2).


Рис.2. Форма с размещенными на ней компонентами RxDBGrid1, Table2, DataSource2, DBDateEdit1

   Установим свойство DataSource компонента RxDBCalcEdit1 в значение DataSource2, DataField - в значение ‘Дата рождения', тогда в строке редактирования компонента будет отображаться значение текущего поля. При изменении значения с помощью выпадающего календаря или просто меняя значение в строке редактирования компонента RxDBCalcEdit1 значение в таблице будет меняться (рис.3(а-в)).


Рис.3а. В строке компонента DBDateEdit1 отображается дата первой строки таблицы


Рис.3б. Изменение даты с помощью календаря


Рис.3в. Дата в первой строке таблицы изменена

    Текст этого примера можно взять здесь.

    На следующем шаге мы рассмотрим компонент TRxDBCalcEdit.




Предыдущий шаг Содержание Следующий шаг