Иллюстрированный самоучитель по Delphi 7 для профессионалов

Агрегаты. Объекты-агрегаты.

Наличие локального буфера данных позволяет компоненту TClientDataSet реализовать ряд дополнительных функций, основанных на использовании агрегатных функций применительно к полям всего набора данных, загруженного в локальный буфер.

К агрегатным функциям относятся:

  • AVG – вычисляет среднее значение;
  • COUNT – возвращает число записей;
  • MIN – вычисляет минимальное значение;
  • МАХ – вычисляет максимальное значение;
  • SUM – вычисляет сумму.

Для их применения в компоненте TClientDataSet предусмотрены:

  • индексированный список объектов, инкапсулирующих агрегатные выражения – агрегаты;
  • агрегатные поля, обеспечивающие получение новых значений подобно вычисляемым полям, но с группированием записей на основе использования агрегатных функций.

Объекты-агрегаты

Для вычисления агрегатных выражений для всех записей набора данных используются объекты класса TAggregate. Индексированный список этих объектов содержится в свойстве:

property Aggregates: TAggregates;

…компонента TClientDataSet. Прямым предком класса TAggregates является класс TCollection, поэтому для него можно использовать все основные приемы работы с коллекциями (см. гл. 7).

Для создания нового агрегата необходимо щелкнуть на кнопке свойства в Инспекторе объектов и, в появившемся Редакторе агрегатов, выбрать пункт Add во всплывающем меню или щелкнуть на кнопке Add New (рис. 22.3).

Новый агрегат может быть добавлен и динамически:

var NewAgg: TAggregate;
NewAgg: = ClientDataSet.Aggregates.Add;

Иллюстрированный самоучитель по Delphi 7 для профессионалов › Клиент многозвенного распределенного приложения › Агрегаты. Объекты-агрегаты.
Рис. 22.3. Редактор агрегатов компонента TClientDataSet

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.