Просмотр
Информация |
В следствие того, что для панелей индикаторов (дашбордов) и отчетов используется одинаковый унифицированный формат шаблона MRT, методы для загрузки шаблона и работы с данными, то в тексте документации будет использоваться слово «отчет».
|
У компонента HTML5 Designer предусмотрен режим просмотра редактируемого отчета. Для просмотра достаточно перейти на соответствующую вкладку в окне дизайнера. Шаблон отчета будет передан на сторону сервера, построен и отображен во встроенном вьювере.
Перед просмотром отчета предусмотрена возможность выполнить какие-либо необходимые действия, например, подключить данные для отчета. Для этого достаточно определить специальное действие PreviewReport, которое будет вызвано перед просмотром отчета. Действие PreviewReport вызывается перед подготовкой и построением отчета для просмотра, до его сохранения в кэш.
Index.cshtml |
... @Html.StiNetCoreDesigner(new StiNetCoreDesignerOptions() { Actions = { PreviewReport = "PreviewReport" } }) ... |
HomeController.cs |
... public IActionResult PreviewReport() { StiReport report = StiNetCoreDesigner.GetActionReportObject(this);
DataSet data = new DataSet("Demo"); data.ReadXml(StiNetCoreHelper.MapPath(this, "Data/Demo.xml")); report.RegData(data);
return StiNetCoreDesigner.PreviewReportResult(this, report); } ... |
При необходимости выполнить действия над отчетом непосредственно перед отображением отчета, можно воспользоваться специальным действием GetPreviewReport, которое вызывается после запроса подготовленного отчета из кэша.
Index.cshtml |
... @Html.StiNetCoreDesigner(new StiNetCoreDesignerOptions() { Actions = { GetPreviewReport = "GetPreviewReport" } }) ... |
HomeController.cs |
... public IActionResult GetPreviewReport() { StiReport report = StiNetCoreDesigner.GetActionReportObject(this);
DataSet data = new DataSet("Demo"); data.ReadXml(StiNetCoreHelper.MapPath(this, "Data/Demo.xml")); report.RegData(data); //report.IsRendered = false;
return StiNetCoreDesigner.PreviewReportResult(this, report); } ... |
Информация |
Так как в данном событии передаётся уже подготовленный для просмотра отчет, то при необходимости выполнить повторное построение, необходимо установить флаг report.IsRendered = false.
|