Информация

 

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

 

 

Примечание

 

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

 

 

 

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

 

Index.cshtml

...

@Html.Stimulsoft().StiMvcViewer("MvcViewer1",

new StiMvcViewerOptions() {

Actions =

{

GetReport = "GetReport",

ViewerEvent = "ViewerEvent"

}

})

...

 

HomeController.cs

...

public ActionResult GetReport()

{

StiReport report = new StiReport();

report.Load(Server.MapPath("~/Content/SimpleList.mrt"));

//report.Load(Server.MapPath("~/Content/Dashboard.mrt"));

 

return StiMvcViewer.GetReportResult(report);

}

 

public ActionResult ViewerEvent()

{

return StiMvcViewer.ViewerEventResult();

}

...

 

 

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

 

Информация

 

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

 

 

 

 

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

 

HomeController.cs

...

public ActionResult GetReport()

{

StiReport report = new StiReport();

report.LoadDocument(Server.MapPath("~/Content/SimpleList.mdc"));

 

return StiMvcViewer.GetReportResult(report);

}

...

 

HomeController.cs

...

public ActionResult GetReport()

{

StiReport report = new StiReportCompiledClass();

 

return StiMvcViewer.GetReportResult(report);

}

...

 

 

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

 

HomeController.cs

...

public ActionResult GetReport()

{

StiReport report = new StiReport();

report.Load(Server.MapPath("~/Content/Report Snapshot.mrt"));

 

return StiMvcViewer.GetReportResult(report);

}

...

 

 

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

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

 

ViewerController.cs

...

public class ViewerController : Controller

{

static ViewerController()

{

Stimulsoft.Base.StiFontCollection.AddFontFile(Server.MapPath("~/fonts/my-font/font-name.ttf"));

}

}

...