Настройка компонента tDataSource
На втором этапе разработки приложения баз данных необходимо перенести на форму и настроить компонент TDataSource. Он обеспечивает взаимодействие набора данных с компонентами отображения данных. Чаще всего одному набору данных соответствует один компонент TDataSource, хотя их может быть и несколько.
Для настройки свойств компонента необходимо выполнить следующие действия.
-
Связать набор данных и компонент TDataSource. Для этого используется свойство DataSet, доступное через Инспектор объектов. Это указатель на экземпляр компонента доступа к данным. В списке этого свойства в Инспекторе объектов перечислены все доступные компоненты наборов данных.
-
Переименовать компонент. Это не обязательное действие. Тем не менее. желательно присваивать компонентам осмысленные имена, соответствующие названиям связанных наборов данных. Обычно название компонента комбинирует имя набора данных со словом source (например, ordsource).
Компонент TDataSource имеет ряд свойств и методов, описание которых представлено в табл. 15.1.
Таблица 15.1. Свойства и методы компонента TDataSource
Объявление |
Тип |
Описание |
Свойства |
||
property AutoEdit: Boolean; |
Pb |
При значении True набор данных автоматически вызывает свой метод Edit при потере фокуса компонентом отображения данных |
property DataSet: TdataSet; |
Pb |
Указатель на связанный с компонентом набор данных |
property Enabled: Boolean; |
Pb |
При значении True связанные с компонентом элементы управления отображают данные. При значении False данные не отображаются |
type TdataSetState =-(dslnactive, dsBrowse, dsEdit, dslnsert, dsSetKey, dsCalcFields, dsFilter, dsNewValue, dsOldValue, dsCurValue, dsBlockRead, dsInternalCalc); property State: TdataSetState; |
Ro |
Отображает состояние набора данных, связанного с компонентом (гл. 16) |
Методы |
||
procedure Edit; |
Pu |
Осуществляет контроль состояния набора данных перед внесением изменений |
function isLinkedTo (DataSet: TdataSet) Boolean; |
Pu |
Проверяет, связан ли компонент доступа к: данным, указанный в параметре DataSet, с данным компонентом |
Методы-обработчики событий |
||
type TdataChangeEvent = procedure (Sender: Tobject; Field: Tfield) of object; |
Рb |
Вызывается при перемещении по набору данных при условии, что данные в текущей записи были изменены |
property OnDataChange: TdataChangeEvent; |
|
|
property OnStateChange: TnotifyEvent; |
Pb |
Вызывается при изменении состояния набоpa данных(гл. 16) |
property OnUpdateData: TnotifyEvent; |
Pb |
Вызывается перед сохранением изменений в базе данных |
В приложении DemoDBApp компонент countrysource связан с компонентом CountryTable. Для этого свойство DataSet имеет значение CountryTable.