【问题标题】:Building a model - based RDLC report建立基于模型的 RDLC 报告
【发布时间】:2016-03-04 15:07:12
【问题描述】:

目标

构建一个 PDF 文件,该文件表示在运行时创建的具有多个字段和属性的单个 C# 类对象。它包含纯文本、变量、表格、图像。

我必须使用什么?

作为一项要求,我必须使用Microsoft.Reporting.WebForms.LocalReport 呈现 PDF 报告,并且它可能包含子报告。

我做了什么?

到目前为止,在处理报表时,遵循简单的模式就足够了:

ReportParameter param = new ReportParameter();
param.Name = "Param name";

但在这种情况下,我必须制作超过 80 个参数,我认为这不是一个好方法,所以我很好奇是否有更好的方法来做到这一点。根据我在 SO 和 google 上的研究人员,我可以使用 System.Data.DataSet 来实现我想要的,但是:

  • 硬编码所有参数只会稍微好一点
  • 几乎是一样的,但是我生成了额外的文件,IMO 对于未来的代码用户来说,使用和理解 ReportParameter 方式比埋在大量额外文件中更容易,这(也许)是可以避免的
  • DataSets 用于表格数据;我有一个大模型

问题

实际上,我认为问题出在 RDLC 报告本身的 DataSource 上。 VS 提供的方式是为数据库连接或任何与数据库相关的对象创建的。这就是使用 DataSources 和 DataSets 的原因。我可以提供任何类型为 IEnumerable 或 IReportData(或来自数据库连接)的数据,但我的都不是。我已经建立了我的模型,如果可能的话,我想使用它。 我发现的大多数示例都是直接从数据库或自定义数据集创建报告。没有更多的想法如何使它工作。这就是我在这里的原因。

【问题讨论】:

    标签: c# asp.net report


    【解决方案1】:

    如果您可以选择使用外部组件:我一直在使用 .NET 报告组件“combit List & Label”。它具有 PDF 导出功能和包含的对象数据提供程序,它采用任何 .NET 对象甚至对象结构,并在交互式报表设计器中为表格、图表等提供对象的属性作为变量/参数。

    【讨论】:

      猜你喜欢
      • 2016-02-01
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      • 2020-01-13
      • 1970-01-01
      • 2019-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多