Для управления состояниями набора данных используются методы Open,

Close, Edit, Insert.

Таблица 12.1. Автоматические состояния набора данных

Константа состояния

Описание

dsNewValue

Включается при обращении к свойству NewValue поля набора данных

dsOldValue

Включается при обращении к свойству OldValue поля на-бораданных

dsCurValue

Включается при обращении к свойству CurValue поля на-бораданных

dsInternalCalc

Включается при расчете значений полей, для которых FindKind = fklnternalCalc

dsCalcFields

Включается при выполнении метода OnCalcFields

dsBlockRead

Включается механизм ускоренного перемещения по набо-

dsOpening

ру данных

Существует при открытии набора данных методом open или свойством Active

dsFilter

Включается при выполнении метода OnFilterRecord

Таблица 12.2. Управляемые состояния набора данных

Константа состояния

Метод

Описание

dsinactive

Close

Набор данных закрыт

dsBrowse

Open

Данные доступны для просмотра, но недоступны для редактирования

dsEdit

Edit

Данные можно редактировать

dslnsert

Insert

К набору данных можно добавлять новые записи

dsSetKey

SetKey

Включается механизм поиска по ключу. Также могут использоваться диапазоны

Рассмотрим, как изменяется состояние набора данных при выполнении стандартных операций.

Закрытый набор данных всегда имеет неактивное состояние сЫпасНуе.

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

Программирование в Delphi 7

Рис. 12.4. Схема изменения состояний набораданных

При необходимости редактирования данных набор должен быть переведен в состояние редактирования dsEdit, для этого используется метод Edit. После выполнения метода можно изменять значения полей для текущей записи. При перемещении на следующую запись набор данных автоматически переходит в состояние просмотра.

Для того чтобы вставить в набор данных новую запись, необходимо использовать состояние вставки dsinsert. Метод insert переводит набор данных в это состояние и добавляет на месте текущего курсора новую пустую запись. При переходе на другую запись, после проверки на уникальность первичного ключа (если он есть) набор данных возвращается в состояние просмотра.

Состояние установки ключа dsSetKey используется только в табличных компонентах при необходимости поиска методами FindKey и FindNext, а также при использовании диапазонов (метод SetRange). Это состояние сохраняется до момента вызова одного из методов поиска по ключу или метода отмены диапазона. После этого набор данных возвращается в состояние просмотра.

Состояние просмотра по блокам dsBlockRead используется набором данных при реализации быстрого перемещения по большим массивам записей без показа промежуточных записей в компонентах отображения данных и без вызова обработчика события перемещения по записям. Для реализации быстрого перемещения по набору данных можно использовать методы DisableControls И EnableControls.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Июнь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс