Вычисляемые
значения по одному источнику
Для вычисления агрегатного значения одного или нескольких полей одного источника данных используются два элемента оформления.
Элемент 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.