Информация

 

В следствие того, что для панелей индикаторов (дашбордов) и отчетов используется одинаковый унифицированный формат шаблона MRT, методы для загрузки шаблона и работы с данными, то в тексте документации будет использоваться слово «отчет».

 

 

Примечание

 

При присвоении отчета вьювер компоненту, происходит автоматическое построение отчета. Вызов метода Report.Render() необходим только в том случае, если требуется провести какие-либо действия с построенным отчетом перед его отображением во вьювере. Аналогично, при использовании режима компиляции, вызов метода Report.Compile() требуется только в том случае, если требуется провести какие-либо действия с откомпилированным отчетом перед его построением и отображением во вьювере.

 

 

 

Для отображения отчета необходимо добавить на страницу компонент StiNetCoreViewer и задать ему минимально необходимые свойства, а в контроллере представления определить необходимые действия.

 

Index.cshtml

...

@Html.StiNetCoreViewer(new StiNetCoreViewerOptions() {

Actions =

{

GetReport = "GetReport",

ViewerEvent = "ViewerEvent"

}

})

...

 

HomeController.cs

...

public IActionResult GetReport()

{

StiReport report = new StiReport();

report.Load(StiNetCoreHelper.MapPath(this, "Reports/SimpleList.mrt"));

//report.Load(StiNetCoreHelper.MapPath(this, "Reports/Dashboard.mrt"));

 

return StiNetCoreViewer.GetReportResult(this, report);

}

 

public IActionResult ViewerEvent()

{

return StiNetCoreViewer.ViewerEventResult(this);

}

...

 

 

В приведенном выше примере добавлена обработка двух действий вьювера. Действие GetReport возвращает подготовленный отчет вьюверу, действие ViewerEvent обрабатывает события вьювера.

 

Информация

 

Действие ViewerEvent является обязательным. Без него корректная работа вьювера невозможна.

 

 

З

 

 

Если отчет не был построен перед отображением, то компонент HTML5 Viewer построит его автоматически. Таким образом, для отображения отчета разрешено использовать шаблоны отчетов и построенные отчеты.

 

HomeController.cs

...

public IActionResult GetReport()

{

StiReport report = new StiReport();

report.LoadDocument(StiNetCoreHelper.MapPath(this, "Reports/SimpleList.mdc"));

 

return StiNetCoreViewer.GetReportResult(this, report);

}

...

 

 

Так как дашборд не является статическим документов и для его работы требуются данные, то формат построенного документа MDC для него не доступен. Вместо этого предоставлена возможность использовать снимок отчета в формате MRT, который содержит в себе все необходимые для работы дашборда данные, и может быть корректно отображен во вьювере.

 

HomeController.cs

...

public ActionResult GetReport()

{

StiReport report = new StiReport();

report.Load(StiNetCoreHelper.MapPath("~/Reports/Snapshot.mrt"));

 

return StiNetCoreViewer.GetReportResult(report);

}

...

 

 

Подключение пользовательских шрифтов

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

 

ViewerController.cs

...

public class ViewerController : Controller

{

static ViewerController()

{

Stimulsoft.Base.StiFontCollection.AddFontFile(StiNetCoreHelper.MapPath(this,"/fonts/my-font/font-name.ttf"));

}

}

...