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

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

   Компонент TDBStatusLabel (рис.1) представляет собой статический элемент управления, позволяющий отображать в текстовом виде текущее состояние связанного с ним через свойство DataSource набора данных.


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

   В зависимости от текущего состояния набора данных (просмотр, редактирование, поиск и т.д.) текст компонента TDBStatusLabel изменяется, в соответствии с форматом:

<Имя_набора_данных>: <состояние_набора_данных>.

   Если свойство Style установлено в значение lsRecordNo, то компонент отображает текущую позицию в наборе данных в формате:

<номер_текущей_записи>:<полное_число_записей>.

   Информация о номере записи может быть отображена только для драйверов DBase и Paradox и таблиц в памяти (TMemoryTable). В версии для Delphi 3 и выше отображение номера записи определяется возвращаемым значением метода IsSequenced соответствующего набора данных.

   Если свойство Style установлено в значение lsRecordSize, то компонент отображает размер записи в наборе данных.

   Если свойство SQLCount установлено в False (по умолчанию), то подсчет числа записей тоже не ведется для SQL-данных, а только для данных dBase и Paradox.

    Имя набора данных задается свойством DataSetName, и может быть изменено обработчиком события OnGetDataName. Строки, задающие состояние набора данных, как и все остальные константы библиотеки RX Library, хранятся в ресурсе типа STRINGTABLE.

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

Таблица 1. Свойства компонента TDBStatusLabel
Свойство Описание
property Style: TDBLabelStyle; Свойство задает тип отображаемого компонентой текста:
  • значение равно lsState (по умолчанию) - компонент отображает состояние набора данных (вставка, редактирование и т.д.);
  • значение равно lsRecordNo - компонент может отображать для таблиц DBase и Paradox (или результатов запросов на таблицах DBase и Paradox ) текущую позицию в наборе данных (номер текущей записи и полное число записей);
  • значение равно lsRecordSize - компонент отображает размер одной записи набора данных в байтах.
property SQLCount: Boolean; Свойство определяет, будет ли осуществляться подсчет полного числа записей при значении свойства Style = lsRecordNo , если набор данных относится к SQL-базе данных. По умолчанию свойство равно False . При больших размерах выборки из SQL-таблиц подсчет числа записей может занять значительное время.
property DataSetName: string; Свойство задает имя для набора данных, используемое при отображении состояния этого набора данных компонентой TDBStatusLabel. Если в режиме дизайна формы вы зададите значение этого свойства равным пустой строке, то при выполнении приложения (run-time) значением этого свойства будет DataSource.DataSet.Name.
property OnGetDataName: TGetStringEvent; Событие происходит, когда необходимо изменить текст компонент TDBStatusLabel при изменении состояния связанного с ней набора данных. Если обработчик этого события определен, то возвращаемое им значение используется вместо значение свойства DataSetName.

    Приведем пример: поместим на форму компоненты RxDBGrid1, Table2, DataSource2 – для связи базы данных, DBStatusLable1, DBStatusLable2, DBStatusLable3, RxLable1, RxLable2, RxLable3 (рис.2).


Рис.2. Форма с размещенными на ней компонентами RxDBGrid1, Table2, DataSourсe2, DBStatusLable1, DBStatusLable2, DBStatusLable3, RxLable1, RxLable2, RxLable3

    Компоненты RxLable1, RxLable2, RxLable3 отображают свойство Style для компонент DBStatusLable1, DBStatusLable2, DBStatusLable3 соответственно.

    DBStatusLable1: Style = lsState;

    DBStatusLable2: Style = lsRecordNo;

    DBStatusLable3: Style = lsRecordSize;

    Работа программы показана на рис.3.


Рис.3. Отображение компонентами DBStatusLable1, DBStatusLable2, DBStatusLable3 состояния набора данных, текущую позицию в наборе данных, размер записи набора данных

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

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




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