Отображение отчета и дашборда
Информация |
В следствие того, что для панелей индикаторов (дашбордов) и отчетов используется одинаковый унифицированный формат шаблона MRT, методы для загрузки шаблона и работы с данными, то в тексте документации будет использоваться слово «отчет».
|
Примечание |
При присвоении отчета вьювер компоненту, происходит автоматическое построение отчета. Вызов метода Report.Render() необходим только в том случае, если требуется провести какие-либо действия с построенным отчетом перед его отображением во вьювере. Аналогично, при использовании режима компиляции, вызов метода Report.Compile() требуется только в том случае, если требуется провести какие-либо действия с откомпилированным отчетом перед его построением и отображением во вьювере.
|
Для отображения отчета необходимо добавить на страницу компонент StiNetCoreViewer и задать ему минимально необходимые свойства, а в обработчике событий страницы определить необходимые действия.
Index.cshtml |
... @Html.StiNetCoreViewer(new StiNetCoreViewerOptions() { Actions = { GetReport = "GetReport", ViewerEvent = "ViewerEvent" } }) ... |
Index.cshtml.cs |
... public IActionResult OnPostGetReport() { // Create the report object StiReport report = new StiReport();
// Load report or dashboard report.Load(StiNetCoreHelper.MapPath(this, "Reports/SimpleList.mrt")); //report.Load(StiNetCoreHelper.MapPath(this, "Reports/Dashboard.mrt"));
return StiNetCoreViewer.GetReportResult(this, report); }
public IActionResult OnGetViewerEvent() { return StiNetCoreViewer.ViewerEventResult(this); }
public IActionResult OnPostViewerEvent() { return StiNetCoreViewer.ViewerEventResult(this); } ... |
Информация |
Действие ViewerEvent является обязательным. Без него корректная работа вьювера невозможна. Действие вызывается для двух типов запросов: OnGet - компонент запрашивает необходимые для работы ресурсы, такие как CSS-стили, JS-скрипты и изображения; OnPost - все остальные действия вьювера.
|
З
Если отчет не был построен перед отображением, то компонент HTML5 Viewer построит его автоматически. Таким образом, для отображения отчета разрешено использовать шаблоны отчетов и построенные отчеты.
Index.cshtml.cs |
... public IActionResult OnPostGetReport() { StiReport report = new StiReport(); report.LoadDocument(StiNetCoreHelper.MapPath(this, "Reports/SimpleList.mdc"));
return StiNetCoreViewer.GetReportResult(this, report); } ... |
Так как дашборд не является статическим документов и для его работы требуются данные, то формат построенного документа MDC для него не доступен. Вместо этого предоставлена возможность использовать снимок отчета в формате MRT, который содержит в себе все необходимые для работы дашборда данные, и может быть корректно отображен во вьювере.
Index.cshtml.cs |
... public ActionResult OnPostGetReport() { StiReport report = new StiReport(); report.Load(StiNetCoreHelper.MapPath("~/Reports/Snapshot.mrt"));
return StiNetCoreViewer.GetReportResult(report); } ... |
Подключение пользовательских шрифтов
Вы можете подключить пользовательские шрифты с использованием класса StiFontCollection, указав файл содержащий шрифт. Для этого необходимо в конструкторе страницы вызвать статический метод для загрузки шрифта.
Index.cshtml.cs |
... public class IndexModel : PageModel { static IndexModel() { Stimulsoft.Base.StiFontCollection.AddFontFile(StiNetCoreHelper.MapPath(this,"/fonts/my-font/font-name.ttf")); } } ... |