M Y D E L P H I 7 . R U Самоучитель программирования  
 
  • Главная
  •  

     

    Агрегатные поля

    Агрегатные поля не входят в структуру полей набора данных, т. к. агрегатные функции подразумевают объединение записей таблицы для получения результата. Следовательно, значение агрегатного поля нельзя связать с какой-то одной записью, оно относится ко всем или группе записей.

    Агрегатные поля не отображаются вместе со всеми полями в компонентах TDBGrid, в Редакторе полей они расположены в отдельном списке. Для представления значения агрегатного поля можно воспользоваться одним из компонентов отображения данных, который визуализирует значение одного поля (например, TDBText или TDBEdit) или свойствами самого поля:

    LabelI.Caption := MyDataSetAGGRFIELDl.AsString;

    Подробно вопросы создания агрегатных полей рассмотрены в гл. 13.

    Класс TAggregateField предназначен для инкапсуляции свойств и методов агрегатных полей.

    Его свойство

    property Expression: string;

    задает вычисляемое выражение.

    Вычисление значения проводится только для тех агрегатных полей, свойство

    property Active: Boolean;

    которых имеет значение True.

    Вычисление включенных свойством Active агрегатных полей выполняется только в том случае, если булевское свойство AggregatesActive клиентского компонента набора данных имеет значение True.

    По умолчанию экземпляр класса TAggregateField создается со свойством Visible = False.