Динамическое сворачивание, сортировка и детализация
Помимо переменных, значения которых можно задавать на панели параметров, вьювер поддерживает другие виды интерактивности, добавляющей удобства и функциональности при использовании генератора отчетов. Это сортировка, сворачивание и детализация.
Динамическая сортировка предоставляет возможность изменять направление сортировки в построенном отчете. Для этого следует щелкнуть по компоненту, у которого была установлена динамическая сортировка. Динамическая сортировка осуществляется в следующих направлениях: По возрастанию (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 } ];
|
При необходимости, значения коллекции параметров допускается корректировать, сохраняя структуру и порядок передаваемых значений. Подробное описание доступных значений аргументов находится в разделе События вьювера.