|
Агрегатные поля
Агрегатные поля не входят в структуру
полей набора данных, т. к. агрегатные функции подразумевают
объединение записей таблицы для получения результата.
Следовательно, значение агрегатного поля нельзя связать
с какой-то одной записью, оно относится ко всем или
группе записей.
Агрегатные поля не отображаются вместе
со всеми полями в компонентах TDBGrid,
в Редакторе полей они расположены в отдельном списке.
Для представления значения агрегатного поля можно воспользоваться
одним из компонентов отображения данных, который визуализирует
значение одного поля (например, TDBText
или TDBEdit) или свойствами самого
поля:
LabelI.Caption :=
MyDataSetAGGRFIELDl.AsString;
Подробно вопросы создания агрегатных
полей рассмотрены в гл. 13.
Класс TAggregateField
предназначен для инкапсуляции свойств и методов агрегатных
полей.
Его свойство
property Expression:
string;
задает вычисляемое выражение.
Вычисление значения проводится только
для тех агрегатных полей, свойство
property Active:
Boolean;
которых имеет значение True.
Вычисление включенных свойством
Active агрегатных полей выполняется только в
том случае, если булевское свойство
AggregatesActive клиентского компонента набора
данных имеет значение True.
По умолчанию экземпляр класса
TAggregateField создается со свойством Visible
= False.
|