Вычисляемые значения по нескольким источникам
Вычислительный элемент calcOp позволяет проводить вычислительные операции над значениями из двух различных источников.
Разработчик должен задать исходные значения и источники данных, используя два набора свойств (табл. 26.1). Назначение части этих свойств вам уже знакомо (см. разд. "Вычисляемые значения по одному источнику" выше).
Таблица 26.1. Свойства элемента СаlсОр для определения двух источников данных
Первый источник |
Второй источник |
Назначение свойства |
SrclCalcVar |
Src2CalcVar |
Определяет вычисляемый элемент, результат которого берется в качестве исходного |
SrclDataField |
Src2DataField |
Задает поле просмотра, над значениями которого проводятся вычисления. Игнорируется при заданном свойстве SrcXCalcVar |
SrclDataView |
Src2DataView |
Задает поле просмотра, над значениями которого проводятся вычисления. Игнорируется при заданном свойстве SrcXCalcVar |
SrclFunction |
Src2Function |
Позволяет выбрать математическую функцию (их список гораздо шире, чем просто агрегатные функции), которая будет выполнена над исходным значением перед вычислением основной операции элемента |
SrclValue |
Src2Value |
Задает фиксированное значение, над которым производится вычислительная операция |
Собственно функция, которая должна обработать значения из двух заданных источников, задается свойством operator.
После выполнения основной операции результат может быть обработан еще один раз, если вы зададите математическую функцию в свойстве
ResultFunction.
Таким образом, при помощи элемента CalcOp разработчик может реализовывать довольно сложные вычисления.
Если задать в качестве двух источников данных:
- два фиксированных значения (свойства srcivalue и Src2value);
- два поля из одного или двух просмотров данных (свойства SrciDataField и Src2DataField);
- комбинацию первых двух вариантов
то их значения будут последовательно обработаны вычислительной операцией, которую вы зададите свойствами:
- SrclFunction;
- SrclFunction;
- Operator;
- ResultFunction.
Кроме этого, элемент CalcOp позволяет создавать вычислительные цепочки, если использовать в качестве одного или двух источников другие вычислительные элементы (рис. 26.9).
Рис. 26.9. Пример вычислительной цепочки на основе элементов CalcOp
Это могут быть как простые элементы CalcText и calcTotal, так и другие элементы calcOp, которые, в свою очередь, могут содержать сколь угодно сложные вычислительные цепи.
Пример использования элемента CalcOp имеется в демонстрационном приложении DemoReports на дискете, прилагаемой к этой книге.