Создание и редактирование отчета
Для запуска дизайнера без отчета не требуется никаких действий. После загрузки компонента, отобразится главное меню дизайнера. При необходимости запуска дизайнера с новым (пустым) отчетом, можно создать новый объект отчета StiReport и присвоить его дизайнеру. Дополнительно, можно предварительно загрузить для нового отчета данные, либо выполнить какие-либо другие необходимые действия.
Для редактирования отчета в дизайнере, достаточно создать объект StiReport, загрузить в него шаблон отчета, и присвоить полученный объект дизайнеру. Все остальные действия будут выполнены автоматически, дизайнер отобразит первую страницу шаблона:
designer.php |
<?php $designer = new \Stimulsoft\Designer\StiDesigner(); $report = new \Stimulsoft\Report\StiReport(); $report.loadFile('reports/SimpleList.mrt'); $designer->report = $report; $designer->renderHtml(); ?>
|
Дизайнер умеет работать со стандартными, упакованными и зашифрованными шаблонами. Подробное описание работы с различными форматами отчетов находится в разделе Загрузка и сохранение отчета.
Новый отчет можно создать, используя главное меню дизайнера. Для предварительной загрузки данных для нового отчета, либо выполнения какие-либо других необходимых действий с новым отчетом, предназначено событие onCreateReport. Данное событие будет вызвано при создании нового пустого отчета из главного меню, либо при создании отчета с использованием мастера. Например, при создании нового отчета требуется подключить к нему данные и синхронизировать их со словарем данных:
designer.php |
<?php $designer = new \Stimulsoft\Designer\StiDesigner(); $designer->onCreateReport = 'onCreateReport'; $designer->renderHtml(); ?>
function onCreateReport(args) { var dataSet = new Stimulsoft.System.Data.DataSet("SimpleDataSet"); dataSet.readJsonFile("Data/Demo.json");
args.report.regData(dataSet.dataSetName, "", dataSet); args.report.dictionary.synchronize(); }
|
При необходимости, можно контролировать процесс создания нового отчета на стороне PHP сервера. Для этого необходимо на стороне клиента добавить вызов обработчика событий, а на стороне сервера определить одноименное событие onCreateReport в файле обработчика событий. Подробное описание работы событий находится в разделе Обработчик событий PHP.
designer.php |
<?php $designer = new \Stimulsoft\Designer\StiDesigner(); $designer->onCreateReport = true; $designer->renderHtml(); ?>
|
handler.php |
$handler->onCreateReport = function ($args) { $report = $args->report;
return \Stimulsoft\StiResult::success(); };
|
В аргументах события будет передан созданный в дизайнере объект отчета. При необходимости, его можно изменить, либо загрузить новый отчет. После завершения события, этот отчет будет автоматически загружен в дизайнер для редактирования. Например, требуется при создании нового отчета в дизайнере, загружать предварительно подготовленный шаблон с настроенными подключениями к данным:
handler.php |
$handler->onCreateReport = function ($args) { $args->report = file_get_contents('reports/NewTemplateWithData.mrt');
return \Stimulsoft\StiResult::success(); };
|
Подробное описание доступных значений аргументов находится в разделе События дизайнера.