Stimulsoft ASP.NET MVC报表教程:在报表中使用业务对象

发布时间 : 2019-10-31 15:28:27.950|阅读 231 次

概述:本示例说明如何使用Business Objects集合创建报表。Business Objects是一种对象类数据,可使用其以不同的结构表示数据:表、列表、数组等。此示例使用Business Objects的两种变体——IEnumerable和ITypedList。

相关链接:

立即点击下载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();
}

在下面的屏幕截图中,您可以看到示例代码的结果。

Stimulsoft ASP.NET MVC报表教程:在报表中使用业务对象

下载示例代码


在线
客服
微信
QQ 电话
023-68661681
返回
顶部