Rendering a Report
To build a loaded report, you should call the render() function on the report object. For example, you want to build a report before exporting it.
index.php
<?php
use Stimulsoft\Report\StiReport;
use Stimulsoft\Export\Enums\StiExportFormat;
$report = new StiReport();
$report->loadFile('reports/SimpleList.mrt');
$report->render();
$report->exportDocument(StiExportFormat::Pdf);
$report->printHtml();
?>
The full example code is available onGitHub.
To perform any actions with the report before building it using JavaScript, you can simply define the name of a JavaScript function for the onBeforeRender event. The event’s arguments will include the action type and the report itself. Example of registering JSON data before report generation:
index.php
<?php
use Stimulsoft\Report\StiReport;
$report = new StiReport();
$report->onBeforeRender = 'beforeRender';
$report->loadFile('reports/SimpleList.mrt');
$report->render();
?>
...
<script>
function beforeRender(args) {
let dataSet = new Stimulsoft.System.Data.DataSet("SimpleDataSet");
dataSet.readJsonFile("Demo.json");
let report = args.report;
report.regData(dataSet.dataSetName, "", dataSet);
}
</script>
The full example code is available on GitHub.
To perform any actions after building the report using JavaScript, you can define the name of a JavaScript function for the onAfterRender event. The event’s arguments will include the action type and the report itself. Example of displaying a message after report generation:
index.php
<?php
use Stimulsoft\Report\StiReport;
$report = new StiReport();
$report->onAfterRender = 'afterRender';
$report->loadFile('reports/SimpleList.mrt');
$report->render();
?>
...
<script>
function afterRender(args) {
alert("The report rendering is completed.");
}
</script>
The full example code is available on GitHub.