原創(chuàng)|使用教程|編輯:鄭恭琳|2019-10-31 15:28:27.950|閱讀 281 次
概述:本示例說明如何使用Business Objects集合創(chuàng)建報表。Business Objects是一種對象類數(shù)據(jù),可使用其以不同的結(jié)構(gòu)表示數(shù)據(jù):表、列表、數(shù)組等。此示例使用Business Objects的兩種變體——IEnumerable和ITypedList。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
立即點(diǎn)擊下載Stimulsoft Reports.Net最新版
本示例說明如何使用Business Objects集合創(chuàng)建報表。Business Objects是一種對象類數(shù)據(jù),可使用其以不同的結(jié)構(gòu)表示數(shù)據(jù):表、列表、數(shù)組等。此示例使用Business Objects的兩種變體——IEnumerable和ITypedList。
例如,創(chuàng)建兩個不同的視圖-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報表并為其注冊數(shù)據(jù)。以類似的方式,GetReportITypedList操作將加載ITypedList報表并為其注冊數(shù)據(jù)。
在將結(jié)果傳輸?shù)讲榭雌鞯目蛻舳酥埃堈{(diào)用CheckReference()特殊方法。該方法在報表ReferenceAssemblies集合中添加了對當(dāng)前項(xiàng)目的程序集的引用,有必要訪問在此應(yīng)用程序中編譯的業(yè)務(wù)對象。可選地,業(yè)務(wù)對象可以從另一個程序集中獲取。
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操作處理所有查看器事件(切換頁面、縮放、打印、導(dǎo)出、交互等),并使用ViewerEventResult()靜態(tài)方法將答案返回給客戶端。
public ActionResult ViewerEvent() { return StiMvcViewer.ViewerEventResult(); }
在下面的屏幕截圖中,您可以看到示例代碼的結(jié)果。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn