Информация

 

В следствие того, что для панелей индикаторов (дашбордов) и отчетов используется одинаковый унифицированный формат шаблона 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.