首先,您需要将StiMvcViewer组件添加到Viewer视图页面。您还需要将StiMvcViewerOptions对象传递给构造函数。所需的最少选项是两个操作——GetReport和ViewerEvent,它们位于操作“Actions”选项组中。
@using Stimulsoft.Report.Mvc;...@Html.Stimulsoft().StiMvcViewer(new StiMvcViewerOptions(){ Actions = { GetReport = "GetReport", ViewerEvent = "ViewerEvent" }})
接下来,您需要将StiMvcDesigner组件添加到Designer视图页面中。您还需要将StiMvcDesignerOptions对象传递给构造函数。所需的最少选项是两个操作——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")
接下来,您需要将所有这些操作添加到适当的控制器。首先,让我们为 表查看器的控制器添加操作。
GetReport操作将使用GetReportResult()静态方法加载 表并将响应返回给查看器的客户端部分。在此方法的参数中,应传递 表对象。例如,加载渲染的 表文件。
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()静态方法将响应返回给客户端。
public ActionResult ViewerEvent(){ return StiMvcViewer.ViewerEventResult();}
接下来,为 表设计器的控制器添加操作。
GetReport操作将加载 表模板,并使用GetReportResult()静态方法将响应返回给设计器的客户端。在此方法的参数中,应传递 表对象。
public ActionResult GetReport(){ StiReport report = new StiReport(); report.Load(Server.MapPath("~/Content/Reports/TwoSimpleLists.mrt")); return StiMvcDesigner.GetReportResult(report);}
当您在设计器中打开预览 表选项卡时,将调用PreviewReport操作。在此操作中,您可以获取 表对象并执行任何操作,例如连接到数据。要为客户准备答案,您应该使用PreviewReportResult()静态方法。在此方法的参数中,应传递 表对象。
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();}
当您在设计器中按保存按钮时,将调用SaveReport操作。在此操作中,将 表模板保存在启动设计器时加载的同一文件中。该文件也被加载到查看器的GetReport操作中。为了为客户准备答案,您应该使用SaveReportResult()静态方法。
public ActionResult SaveReport(){ StiReport report = StiMvcDesigner.GetReportObject(); report.Save(Server.MapPath("~/Content/Reports/TwoSimpleLists.mrt")); return StiMvcDesigner.SaveReportResult();}
public ActionResult DesignerEvent(){ return StiMvcDesigner.DesignerEventResult();}
最后,为Home控制器添加操作。该控制器的操作将重定向到所选视图——设计器或查看器。
public ActionResult Designer(){ return RedirectToAction("Index", "Designer");}public ActionResult Viewer(){ return RedirectToAction("Index", "Viewer");}
在下面的屏幕截图中,您可以看到示例代码的结果。

下载示例代码
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!