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