Для запуска дизайнера без отчета не требуется никаких действий. После загрузки компонента, отобразится главное меню дизайнера. При необходимости запуска дизайнера с новым (пустым) отчетом, можно создать новый объект отчета 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();

};

 

 

 

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