原創(chuàng)|使用教程|編輯:鄭恭琳|2019-10-31 15:50:27.510|閱讀 399 次
概述:本示例說明如何在設計器中編輯報表模板、保存模板并在查看器中顯示該報表。報表設計器和查看器位于該示例項目的不同視圖中。設計器位于Designer視圖上,查看器位于Viewer視圖上,所有這些視圖都有自己的控制器。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
立即點擊下載Stimulsoft Reports.Net最新版
本示例說明如何在設計器中編輯報表模板、保存模板并在查看器中顯示該報表。報表設計器和查看器位于該示例項目的不同視圖中。設計器位于Designer視圖上,查看器位于Viewer視圖上,所有這些視圖都有自己的控制器。
首先,您需要將StiMvcViewer組件添加到Viewer視圖頁面。您還需要將StiMvcViewerOptions對象傳遞給構(gòu)造函數(shù)。所需的最少選項是兩個操作——GetReport和ViewerEvent,它們位于操作“Actions”選項組中。
@using Stimulsoft.Report.Mvc; ... @Html.Stimulsoft().StiMvcViewer(new StiMvcViewerOptions() { Actions = { GetReport = "GetReport", ViewerEvent = "ViewerEvent" } })
接下來,您需要將StiMvcDesigner組件添加到Designer視圖頁面中。您還需要將StiMvcDesignerOptions對象傳遞給構(gòu)造函數(shù)。所需的最少選項是兩個操作——GetReport和DesignerEvent。為了能夠預覽和保存報表,請指定PreviewReport和SaveReport操作。
@using Stimulsoft.Report.Mvc; ... @Html.Stimulsoft().StiMvcDesigner(new StiMvcDesignerOptions() { Actions = { GetReport = "GetReport", PreviewReport = "PreviewReport", SaveReport = "SaveReport", DesignerEvent = "DesignerEvent" } })
在“Home”主頁主視圖中,將鏈接添加到“Viewer”查看器和“Designer”設計器視圖。
<h2>Using the Viewer and Designer in One Project</h2> <br /> @Html.ActionLink("Design Report", "Designer") <br /><br /> @Html.ActionLink("View Report", "Viewer")
接下來,您需要將所有這些操作添加到適當?shù)目刂破鳌J紫龋屛覀優(yōu)閳蟊聿榭雌鞯目刂破魈砑硬僮鳌?/p>
GetReport操作將使用GetReportResult()靜態(tài)方法加載報表并將響應返回給查看器的客戶端部分。在此方法的參數(shù)中,應傳遞報表對象。例如,加載渲染的報表文件。
public ActionResult GetReport() { StiReport report = new StiReport(); report.Load(Server.MapPath("~/Content/Reports/TwoSimpleLists.mrt")); DataSet data = new DataSet("Demo"); data.ReadXml(Server.MapPath("~/Content/Data/Demo.xml")); report.RegData(data); return StiMvcViewer.GetReportResult(report); }
ViewerEvent操作處理所有查看器事件(切換頁面、縮放、打印、導出、交互等),并使用ViewerEventResult()靜態(tài)方法將響應返回給客戶端。
public ActionResult ViewerEvent() { return StiMvcViewer.ViewerEventResult(); }
接下來,為報表設計器的控制器添加操作。
GetReport操作將加載報表模板,并使用GetReportResult()靜態(tài)方法將響應返回給設計器的客戶端。在此方法的參數(shù)中,應傳遞報表對象。
public ActionResult GetReport() { StiReport report = new StiReport(); report.Load(Server.MapPath("~/Content/Reports/TwoSimpleLists.mrt")); return StiMvcDesigner.GetReportResult(report); }
當您在設計器中打開預覽報表選項卡時,將調(diào)用PreviewReport操作。在此操作中,您可以獲取報表對象并執(zhí)行任何操作,例如連接到數(shù)據(jù)。要為客戶準備答案,您應該使用PreviewReportResult()靜態(tài)方法。在此方法的參數(shù)中,應傳遞報表對象。
public ActionResult PreviewReport() { StiReport report = StiMvcDesigner.GetActionReportObject(); DataSet data = new DataSet("Demo"); data.ReadXml(Server.MapPath("~/Content/Data/Demo.xml")); report.RegData(data); return StiMvcDesigner.GetReportResult(); }
當您在設計器中按保存按鈕時,將調(diào)用SaveReport操作。在此操作中,將報表模板保存在啟動設計器時加載的同一文件中。該文件也被加載到查看器的GetReport操作中。為了為客戶準備答案,您應該使用SaveReportResult()靜態(tài)方法。
public ActionResult SaveReport() { StiReport report = StiMvcDesigner.GetReportObject(); report.Save(Server.MapPath("~/Content/Reports/TwoSimpleLists.mrt")); return StiMvcDesigner.SaveReportResult(); }
DesignerEvent操作處理所有設計器事件(添加和編輯報表組件、使用數(shù)據(jù)字典,切換頁面,縮放等),并使用DesignerEventResult()靜態(tài)方法將答案返回給客戶端。
public ActionResult DesignerEvent() { return StiMvcDesigner.DesignerEventResult(); }
最后,為Home控制器添加操作。該控制器的操作將重定向到所選視圖——設計器或查看器。
public ActionResult Designer() { return RedirectToAction("Index", "Designer"); } public ActionResult Viewer() { return RedirectToAction("Index", "Viewer"); }
在下面的屏幕截圖中,您可以看到示例代碼的結(jié)果。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn