Для вычисления агрегатного значения одного или нескольких полей одного источника данных используются два элемента оформления.

Элемент CalcText позволяет отобразить результат вычисления на полосе отчета. Так же, как и обычный элементDataText, его необходимо связать с просмотром и полем. Для этого используются свойства DataViewи DataField соответственно.

Кроме этого, элемент CalcText должен быть связан со специализированным элементомCaicController (см. ниже), который будет управлять процессом вычисления. Связывание осуществляется при помощи свойстваController.

В свойстве CalcType задается одна из пяти перечисленных выше агрегатных функций.

Дополнительно, для функции COUNT можно настроить еще три свойства. При необходимости включить или отключить подсчет нулевых значений или пробелов используются булевские свойстваcountNulls и countBianks соответственно. А свойство Countvalue позволяет задать значение поля, которое будет учитываться при расчете функции, все остальные значения будут игнорироваться.

Вычисленное значение при сохранении может быть отформатировано в соответствии с шаблоном, заданным свойствомDisplayFormat.

Для всех агрегатных функций можно задать момент начала вычислений. Для этого в свойстве initializer необходимо указать элемент оформления отчета, и при его печати начнется вычисление. Это может быть любой элемент, расположенный с элементомCalcText на одной полосе. Но желательно использовать для этого специализированный элементcalccontroller (см. ниже).

Примечание 

Пример использования элемента оформления CalcText имеется в отчетах, рассмотренных нами выше.

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

Свойство DestParam позволяет выбрать один из предопределенных или созданных разработчиком параметров отчета (свойство Parameters объекта отчета).

Свойство DestPiVar задает переменную отчета, в которую будет передано вычисленное значение (свойство pivars объекта отчета).

 

Рис. 26.8. Редактор свойства DataField

Затем параметр или переменная может быть использована для дальнейших вычислений или напечатана при помощи элемента DataText. В редакторе свойства DataField этого элемента (рис. 26.8) параметры и переменные отчета можно выбрать из списков Project Parameters и Post Initialize Variables.