Динамическое сворачивание, сортировка и детализация

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

 

Сортировка

Динамическая сортировка предоставляет возможность изменять направление сортировки в построенном отчете. Для этого следует щелкнуть по компоненту, у которого была установлена динамическая сортировка. Динамическая сортировка осуществляется в следующих направлениях: По возрастанию (Ascending) и По убыванию (Descending). Каждый раз при щелчке по компоненту направление меняется на противоположное.

 

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

 

Сворачивание

Отчет с динамическим сворачиванием представляет собой интерактивный отчет, в котором определенные блоки могут сворачивать/разворачивать свое содержимое при нажатии на заголовок блока. Элементы отчета, которые можно свернуть/развернуть, обозначены специальной иконкой со знаком [-] или [+].

 

Детализация

При детализации данных под главной панелью вьювера будет отображена панель детализации с закладками детализированных отчетов. Отображенный в данный момент отчет будет подсвечен. Предусмотрена возможность закрывать не требуемые в данный момент детализированные страницы.

 

Событие интерактивности вьювера

Для работы динамической сортировки, сворачивания и детализации отчетов не требуется дополнительных настроек вьювера. Для выполнения каких-либо действий перед сортировкой, сворачиванием или детализацией отчета предназначено специальное событие onInteraction, которое будет вызвано при интерактивных действиях вьювера. Для каждого вида интерактивности вьювера предусмотрен определенный тип действия:

 

Наименование

Описание

Sorting

Действие происходит при использовании сортировки колонок.

DrillDown

Действие происходит при использовании детализации колонок.

Collapsing

Действие происходит при использовании сворачивания блоков отчета.

Variables

Действие происходит при использовании переменных на панели параметров. Подробное описание находится в разделе Работа с переменными отчета.

 

viewer.php

 

<?php

$viewer = new \Stimulsoft\Viewer\StiViewer();

$viewer->onInteraction = 'onInteraction';

$viewer->renderHtml();

?>

 

function onInteraction(args) {

switch (args.action) {

case "Sorting":

break;

 

case "DrillDown":

break;

 

case "Collapsing":

break;

}

}

 

 

 

В аргументах передаются соответствующие коллекции параметров sortingParameters, collapsingParameters и drillDownParameters, содержащие данные в специальном формате, необходимые для текущего интерактивного действия, например:

 

viewer.php

 

var sortingParameters = {

ComponentName: "Text10;false",

DataBand: "DataBand1;DESC;CompanyName"

};

 

var collapsingParameters = {

CollapsingStates: {

GroupHeaderBand1: {

keys: [1],

values: [false]

},

ComponentName: "GroupHeaderBand1"

};

 

var drillDownParameters = [

{

ComponentIndex: "1"

DrillDownMode: null

ElementIndex: "6"

PageGuid: "b916d048d3f446dc97c356d4ff47f48f"

PageIndex: "0"

ReportFile: null

}

];

 

 

 

При необходимости, значения коллекции параметров допускается корректировать, сохраняя структуру и порядок передаваемых значений. Подробное описание доступных значений аргументов находится в разделе События вьювера.