setPrivateDimDisplayMode(report: PP.Exp.EaxDocument, metadata: Object, callback: PP.Delegate);
report. Документ экспресс-отчёта;
metadata. Настройки частных измерений;
callback. Возвратная функция.
Метод setPrivateDimDisplayMode отображает частные измерения в виде одного составного измерения в экспресс-отчете с несколькими источниками.
Для выполнения примера необходимо наличие на html-странице компонента ExpressBox с наименованием «expressBox» (см. «Пример создания компонента ExpressBox»). Для экспресс-отчета должны быть заданы как минимум два источника данных.
Отобразим частные измерения экспресс-отчета с несколькими источниками в виде одного составного измерения:
// Получим сервис для работы с экспресс-отчетом
var eaxMdService = expressBox.getService();
// Получим документ экспресс-отчета
var eaxAnalyzer = expressBox.getSource();
// Получим панель частных измерений
var items = expressBox.getPropertyBarView().getDimBarMasterView().getItems();
var dimBarPrivateMP = null;
for (var i in items) {
if (items[i].getTypeName() == "EaxDimBarPrivateMP") {
dimBarPrivateMP = items[i];
}
};
if (dimBarPrivateMP != null) {
// Определим настройки частных измерений
var metadata = {
changeSelection: {
elRelative: "All",
elSelectOp: "Set",
setCompound: {
displayAsCompound: true // Измерения будем отображать в виде составного измерения
}
},
compound: {
displayAsCompound: true,
isCompound: false
},
id: "FACTS_COMPOUND",
k: dimBarPrivateMP.getData(),
n: "Факты"
};
// Определим аргументы для возвратной функции
var args = new PP.Mb.Ui.PropertyChangedEventArgs({
PropertyName: PP.Exp.Ui.ControlType.PrivateDimsDisplayMode,
Metadata: metadata,
TypeUpdateData: PP.Exp.Ui.ViewTypeUpdate.PropertyBar
});
// Определим возвратную функцию
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);
// Обновим панель настроек экспресс-отчета
expressBox.getPropertyBarView().refreshAll()
};
// Инициируем запрос частных измерений в виде составных измерений
eaxMbService.setPrivateDimDisplayMode(eaxAnalyzer, metadata, PP.Delegate(this.onPanelChanged, eaxMdService, args));
};
В результате выполнения примера частные измерения экспресс-отчёта с несколькими источниками будут отображаться в виде составного измерения.
См. также: