Отображение отчета и дашборда
Информация |
В следствие того, что для панелей индикаторов (дашбордов) и отчетов используется одинаковый унифицированный формат шаблона MRT, методы для загрузки шаблона и работы с данными, то в тексте документации будет использоваться слово «отчет».
|
Примечание |
При присвоении отчета вьювер компоненту, происходит автоматическое построение отчета. Вызов метода Report.Render() необходим только в том случае, если требуется провести какие-либо действия с построенным отчетом перед его отображением во вьювере. Аналогично, при использовании режима компиляции, вызов метода Report.Compile() требуется только в том случае, если требуется провести какие-либо действия с откомпилированным отчетом перед его построением и отображением во вьювере.
|
Для отображения отчета необходимо добавить компонент StiWebViewer на ASPX страницу и присвоить ему загруженный отчет.
Default.aspx |
... <cc1:StiWebViewer ID="StiWebViewer1" runat="server"> </cc1:StiWebViewer> ... |
Default.aspx.cs |
... protected void Page_Load(object sender, EventArgs e) { StiReport report = new StiReport(); report.Load(Server.MapPath("Reports/SimpleList.mrt")); // report.Load(Server.MapPath("Reports/Dashboard.mrt"));
StiWebViewer1.Report = report; } ... |
Так же HTML5 Viewer имеет специальное событие OnGetReport, которое можно использовать для присвоения отчета вьюверу. В этом случае загрузку отчета необходимо осуществлять в обработчике события.
Default.aspx |
... <cc1:StiWebViewer ID="StiWebViewer1" runat="server" OnGetReport="StiWebViewer1_GetReport"> </cc1:StiWebViewer> ... |
Default.aspx.cs |
... protected void StiWebViewer1_GetReport(object sender, StiReportDataEventArgs e) { StiReport report = new StiReport(); report.Load(Server.MapPath("Reports/SimpleList.mrt")); // report.Load(Server.MapPath("Reports/Dashboard.mrt"));
e.Report = report; } ... |
Информация |
Для присвоения отчета предпочтительнее использовать указанное событие OnGetReport, так как в этом случае при потере по какой-либо причине объекта отчета в кэше или сессии сервера, клиентская часть вьювера инициирует это событие и просмотр отчета будет продолжен.
|
Если отчет не были построены перед отображением, то компонент HTML5 Viewer построит их автоматически. Таким образом, для отображения отчета разрешено использовать различные типы отчетов: шаблоны отчетов, построенные отчеты, отчеты в виде классов.
Default.aspx.cs |
... protected void StiWebViewer1_GetReport(object sender, StiReportDataEventArgs e) { StiReport report = new StiReport(); report.LoadDocument(Server.MapPath("Reports/SimpleList.mdc"));
e.Report = report; } ... |
Default.aspx.cs |
... protected void StiWebViewer1_GetReport(object sender, StiReportDataEventArgs e) { e.Report = new StiReportCompiledClass(); } ... |
Так как дашборд не является статическим документов и для его работы требуются данные, то формат построенного документа MDC для него не доступен. Вместо этого предоставлена возможность использовать снимок отчета в формате MRT, который содержит в себе все необходимые для работы дашборда данные, и может быть корректно отображен во вьювере.
Default.aspx.cs |
... protected void StiWebViewer1_GetReport(object sender, StiReportDataEventArgs e) { StiReport report = new StiReport(); report.Load(Server.MapPath("Reports/Snapshot.mrt"));
e.Report = report; } ... |
Подключение пользовательских шрифтов
Вы можете подключить пользовательские шрифты с использованием класса StiFontCollection, указав файл содержащий шрифт. Для этого необходимо в конструкторе вызвать статический метод для загрузки шрифта.
Default.aspx.cs |
... public partial class _Default : Page { static _Default() { Stimulsoft.Base.StiFontCollection.AddFontFile(Server.MapPath("fonts/my-font/font-name.ttf")); } } ... |