Справочник по компонентам Delphi. Часть 3 - Компонент TDataSource

ОГЛАВЛЕНИЕ


Компонент TDataSource

 TObject -> TPersistent -> TComponent -> TDataSource 

Модуль DB

Страница Палитры компонентов DataAccess

Является связующим звеном между наборами данных, представленных компо­нентами TTable, TQuery и TStoredProc, и визуальными компонентами отобра­жения и управления данными. Каждый набор данных должен иметь по меньшей

мере один компонент TDataSource, так как TTable и TQuery устанавливают соединение с базой данных через BDE, но не умеют отображать полученную информацию в формах приложения. Визуальные компоненты отображают дан­ные, но не имеют представления о структуре передаваемых таблиц. Именно это противоречие устраняет компонент TDataSource. Кроме этого, он приме­няется для связывания таблиц или запросов при построении односвязных форм в Эксперте форм баз данных.

Свойства компонента

(Pb) property AutoEdit: Boolean;Разрешает или запрещает изменение дан­ных визуальными компонентами, связан­ными с TDataSource. В предопределенном состоянии — True, запись разрешена.
(РЙ property Dataset: TDataSet;Определяет связанные компоненты TTable, TQuery и TStoredProc.
(Pb) property Enabled: Boolean;Определяет, проводить ли модификацию записей связанной таблицы в визуальных компонентах при изменении текущей записи.
(Ro) property State: TDataSetState;Задает текущее состояние для связанного компонента набора данных. Это свойство должно быть установлено в соответствие со свойством State связанного компонента набора данных. Возможные значения: dsBrowse, dsCalcField, dsEdit, dslnactive, dslnsert, dsSetKey. При свойстве Enabled в значении False или не определенном значении свойства Dataset свойство State должно устанавливаться в значение dslnactive. Подробно возможные состояния описываются в конце раздела.

Обработчики событий

(Pb) property OnDataChange: TDataChangeEvent ; TDataChangeEvent = procedure(Sender: TObject; Field: TField) of object;Вызывается при обработке сообщения визуальных компонентов отображения и управления данными о любых изменениях или при переопределении свойства State в любое состояние из dslnactive. Передаваемый параметр Field определяет измененное поле, при модификации нескольких полей (записи) одновременно устанавливается в nil.
(Pb) property OnStateChange: TNotifyEvent;Вызывается при изменении свойства State.
(Pb) property OnUpdateData: TNotifyEvent;Реагирует на методы Post и UpdateData (см. ниже) компонентов наборов данных и передает сообщение визуальным компонентам отображения и управления данными о необходимости изменения соответствующих полей.

Методы компонента

procedure Edit; Предназначена только для вызова аналогичного метода компонента набора данных. Используется при свойствах AutoEdit = True и State = dsBrowse.