Вкладка 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.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий