Построение отчета
Для построения загруженного отчета необходимо вызвать функцию render() у объекта отчета StiReport. Например, требуется построить отчет перед его экспортированием:
app.py |
from stimulsoft_reports.report import StiReport from stimulsoft_reports.report.enums import StiExportFormat
report = StiReport() report.loadFile(url_for('static', filename='reports/SimpleList.mrt')) report.render() report.exportDocument(StiExportFormat.PDF)
|
Полный код примера доступен на GitHub.
Если требуется выполнить какие-либо действия с отчетом перед его построением при помощи JavaScript кода, достаточно определить название JavaScript функции для события onBeforeRender, в аргументах функции будут переданы тип действия и сам отчет. Пример регистрации JSON данных перед построением отчета:
app.py |
from stimulsoft_reports.report import StiReport
report = StiReport() report.onBeforeRender += 'beforeRender' report.loadFile(url_for('static', filename='reports/SimpleList.mrt')) report.render()
|
render.html |
<script> function onBeforeRender(args) { var dataSet = new Stimulsoft.System.Data.DataSet("SimpleDataSet"); dataSet.readJsonFile("Demo.json");
var report = args.report; report.regData(dataSet.dataSetName, "", dataSet); } </script>
|
Для выполнения каких-либо действий после построения отчета при помощи JavaScript кода, достаточно определить название JavaScript функции для события onAfterRender, в аргументах функции будут переданы тип действия и сам отчет. Пример вывода сообщения после построения отчета:
app.py |
from stimulsoft_reports.report import StiReport
report = StiReport() report.onAfterRender += 'afterRender' report.loadFile(url_for('static', filename='reports/SimpleList.mrt')) report.render()
|
render.html |
<script> function afterRender(args) { alert("The report rendering is completed."); } </script>
|
Полный код примера доступен на GitHub.