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

 

Для редактирования отчета в дизайнере, достаточно создать объект StiReport, загрузить в него шаблон отчета, и присвоить полученный объект дизайнеру. Все остальные действия будут выполнены автоматически, дизайнер отобразит первую страницу шаблона:

 

designer.php

 

<?php

require_once 'vendor/autoload.php';

 

use Stimulsoft\Report\StiReport;

use Stimulsoft\Designer\StiDesigner;

 

$designer = new StiDesigner();

$designer->process();

 

$report = new StiReport();

$report->loadFile('reports/SimpleList.mrt');

$designer->report = $report;

 

$designer->printHtml();

?>

 

 

 

Полный код примера доступен на GitHub.

 

Дизайнер умеет работать со стандартными, упакованными и зашифрованными шаблонами. Подробное описание работы с различными форматами отчетов находится в разделе Загрузка и сохранение отчета.

 

 

Событие создания отчета

Новый отчет можно создать, используя главное меню дизайнера. Для выполнения какие-либо необходимых действий с новым отчетом, предназначено событие onCreateReport. Данное событие будет вызвано при создании нового пустого отчета из главного меню, либо при создании отчета с использованием мастера. В аргументах события будет передан созданный в дизайнере объект отчета. При необходимости, его можно изменить, подключить данные, либо загрузить заранее подготовленный шаблон отчета. После завершения события, этот отчет будет автоматически загружен в дизайнер для редактирования.

 

Пример подключения данных и синхронизации словаря данных при создании нового отчета:

 

designer.php

 

<?php

use Stimulsoft\Report\StiReport;

use Stimulsoft\Designer\StiDesigner;

 

$designer = new StiDesigner();

$designer->onCreateReport = 'createReport';

$designer->process();

 

$report = new StiReport();

$report->loadFile('reports/SimpleList.mrt');

$designer->report = $report;

?>

 

...

 

<script>

function createReport(args) {

let dataSet = new Stimulsoft.System.Data.DataSet("SimpleDataSet");

dataSet.readJsonFile("Data/Demo.json");

 

args.report.regData(dataSet.dataSetName, "", dataSet);

args.report.dictionary.synchronize();

}

</script>

 

 

 

Полный код примера доступен на GitHub.

 

При необходимости, можно контролировать процесс создания нового отчета на стороне PHP сервера. Пример изменения параметров нового отчета на стороне PHP сервера:

 

designer.php

 

<?php

use Stimulsoft\Designer\StiDesigner;

use Stimulsoft\Events\StiReportEventArgs;

 

$designer = new StiDesigner();

$designer->onCreateReport = function (StiReportEventArgs $args) {

$args->report->ReportAlias = 'New Report Alias';

};

 

$designer->process();

$designer->printHtml();

?>

 

 

 

Пример загрузки предварительно подготовленного шаблона с настроенными подключениями к данным:

 

designer.php

 

<?php

use Stimulsoft\Designer\StiDesigner;

use Stimulsoft\Events\StiReportEventArgs;

 

$designer = new StiDesigner();

$designer->onCreateReport = function (StiReportEventArgs $args) {

$reportJson = file_get_contents('reports/NewTemplateWithData.mrt');

$args->setReportJson($reportJson);

};

 

$designer->process();

$designer->printHtml();

?>

 

 

 

 

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