原創|使用教程|編輯:鄭恭琳|2019-10-31 15:28:27.950|閱讀 281 次
概述:本示例說明如何使用Business Objects集合創建報表。Business Objects是一種對象類數據,可使用其以不同的結構表示數據:表、列表、數組等。此示例使用Business Objects的兩種變體——IEnumerable和ITypedList。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
立即點擊下載Stimulsoft Reports.Net最新版
本示例說明如何使用Business Objects集合創建報表。Business Objects是一種對象類數據,可使用其以不同的結構表示數據:表、列表、數組等。此示例使用Business Objects的兩種變體——IEnumerable和ITypedList。
例如,創建兩個不同的視圖-ViewIEnumerable和ViewITypedList。每個視圖都有自己的GetReport操作處理程序。您還需要定義ViewerEvent操作。
@using Stimulsoft.Report.Mvc; ... @Html.Stimulsoft().StiMvcViewer(new StiMvcViewerOptions() { Actions = { GetReport = "GetReportIEnumerable", ViewerEvent = "ViewerEvent" } }) ... @Html.Stimulsoft().StiMvcViewer(new StiMvcViewerOptions() { Actions = { GetReport = "GetReportITypedList", ViewerEvent = "ViewerEvent" } })
另外,我們需要在控制器中添加這些操作。GetReportIEnumerable操作將加載IEnumerable報表并為其注冊數據。以類似的方式,GetReportITypedList操作將加載ITypedList報表并為其注冊數據。
在將結果傳輸到查看器的客戶端之前,請調用CheckReference()特殊方法。該方法在報表ReferenceAssemblies集合中添加了對當前項目的程序集的引用,有必要訪問在此應用程序中編譯的業務對象。可選地,業務對象可以從另一個程序集中獲取。
public ActionResult GetReportIEnumerable() { StiReport report = new StiReport(); report.Load(Server.MapPath("~/Content/Reports/BusinessObjects_IEnumerable.mrt")); report.RegData("EmployeeIEnumerable", CreateBusinessObjectsIEnumerable.GetEmployees()); CheckReference(report); return StiMvcViewer.GetReportResult(report); } public ActionResult GetReportITypedList() { StiReport report = new StiReport(); report.Load(Server.MapPath("~/Content/Reports/BusinessObjects_ITypedList.mrt")); report.RegData("EmployeeITypedList", CreateBusinessObjectsITypedList.GetEmployees()); CheckReference(report); return StiMvcViewer.GetReportResult(report); } private void CheckReference(StiReport report) { string assemblyName = Assembly.GetExecutingAssembly().ManifestModule.Name; List<string> refs = new List<string>(report.ReferencedAssemblies); if (!refs.Contains(assemblyName)) { refs.Add(assemblyName); report.ReferencedAssemblies = refs.ToArray(); } }
ViewerEvent操作處理所有查看器事件(切換頁面、縮放、打印、導出、交互等),并使用ViewerEventResult()靜態方法將答案返回給客戶端。
public ActionResult ViewerEvent() { return StiMvcViewer.ViewerEventResult(); }
在下面的屏幕截圖中,您可以看到示例代碼的結果。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn