setTotals(report: PP.Exp.EaxDocument, metadata: Object, callback: PP.Delegate);
report. Документ экспресс-отчёта;
metadata. Настройки отображения итоговых данных в таблице. Параметр представляет собой JSON-объект, который может содержать вложенные объекты columnTypes и rowTypes с полем t (массив агрегатных функций, представляемых элементами перечисления PP.Exp.Ui.TotalsEnum);
callback. Возвратная функция.
Метод setTotals устанавливает настройки для отображения итоговых данных в таблице экспресс-отчёта.
Для выполнения примера необходимо наличие на html-странице компонента ExpressBox с наименованием «expressBox» (см. «Пример создания компонента ExpressBox») и с загруженной таблицей в рабочей области экспресс-отчёта. Отобразим в таблице итоги по столбцам:
// Получим сервис для работы с экспресс-отчетом
var eaxMdService = expressBox.getService();
// Получим документ экспресс-отчета
var eaxAnalyzer = expressBox.getSource();
// Определим метаданные
var metadata = {
columnTypes: {
// Отобразим среднее, максимальное и минимальное значение по столбцам
t: [PP.Exp.Ui.TotalsEnum.Avg, PP.Exp.Ui.TotalsEnum.Min, PP.Exp.Ui.TotalsEnum.Max]
},
rowTypes: {
t: PP.Exp.Ui.TotalsEnum.None
}
};
// Определим аргументы для возвратной функции
var args = new PP.Mb.Ui.PropertyChangedEventArgs({
PropertyName: PP.Exp.Ui.ControlType.Totals,
Metadata: metadata,
TypeUpdateData: [PP.Exp.Ui.ViewTypeUpdate.DataView, PP.Exp.Ui.ViewTypeUpdate.PropertyBar, PP.Exp.Ui.ViewTypeUpdate.Ribbon]
});
// Определим возвратную функцию
var onPanelChanged = function (n, t) {
var chartView = expressBox.getDataView().getChartView();
t ? (chartView.DataChanged.fire(chartView, t.Args), t.Args.fireCallback(n, t)) : chartView.DataChanged.fire(chartView, t);
};
// Отобразим итоги
eaxMbService.setTotals(eaxAnalyzer, metadata, PP.Delegate(this.onPanelChanged, eaxMdService, args));
// Обновим экспресс-отчет
expressBox.refreshAll();
В результате выполнения примера в таблице были отображены итоги по столбцам:

См. также: