发布时间 : 2019-10-31 15:50:27.510|阅读 429 次
概述:本示例说明如何在设计器中编辑报表模板、保存模板并在查看器中显示该报表。报表设计器和查看器位于该示例项目的不同视图中。设计器位于Designer视图上,查看器位于Viewer视图上,所有这些视图都有自己的控制器。
相关链接:
立即点击下载Stimulsoft Reports.Net最新版
本示例说明如何在设计器中编辑报表模板、保存模板并在查看器中显示该报表。报表设计器和查看器位于该示例项目的不同视图中。设计器位于Designer视图上,查看器位于Viewer视图上,所有这些视图都有自己的控制器。
首先,您需要将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();
}DesignerEvent操作处理所有设计器事件(添加和编辑报表组件、使用数据字典,切换页面,缩放等),并使用DesignerEventResult()静态方法将答案返回给客户端。
public ActionResult DesignerEvent()
{
return StiMvcDesigner.DesignerEventResult();
}最后,为Home控制器添加操作。该控制器的操作将重定向到所选视图——设计器或查看器。
public ActionResult Designer()
{
return RedirectToAction("Index", "Designer");
}
public ActionResult Viewer()
{
return RedirectToAction("Index", "Viewer");
}在下面的屏幕截图中,您可以看到示例代码的结果。

渝ICP备12000582号-15/渝公网安备 50010702501010号