Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 构建基于模型的RDLC报告 客观的_C#_Asp.net_Report - Fatal编程技术网

C# 构建基于模型的RDLC报告 客观的

C# 构建基于模型的RDLC报告 客观的,c#,asp.net,report,C#,Asp.net,Report,构建一个PDF文件,该文件表示在运行时创建的具有多个字段和属性的单个C#类对象。它包含纯文本、变量、表格和图像 我要用什么? 作为一项要求,我必须使用Microsoft.Reporting.WebForms.LocalReport呈现PDF报表,并且它可能包含子报表 我做了什么? 到目前为止,在处理报告时,以下简单模式已经足够: ReportParameter param = new ReportParameter(); param.Name = "Param name"; 但在这种情况下,我

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

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

我做了什么? 到目前为止,在处理报告时,以下简单模式已经足够:

ReportParameter param = new ReportParameter();
param.Name = "Param name";
但在这种情况下,我必须创建80多个参数,我认为这不是一个好方法,所以我很好奇是否有更好的方法来实现这一点。基于我在SO和google上的研究人员,我可以使用
System.Data.DataSet
实现我想要的,但是:

  • 硬编码所有参数只会更好
  • 这几乎是一样的,但我生成了额外的文件,在我看来,对于未来的代码用户来说,使用和理解ReportParameter的方式要比隐藏在大量额外的文件中更容易,这(也许)是可以避免的
  • 数据集用于表格数据;我有一个大模型
问题 实际上,我认为问题在于RDLC报告本身的数据源。VS提供的方法是为DB连接或任何DB相关对象创建的。这就是为什么要使用数据源和数据集。我可以提供IEnumerable或IReportData(或来自db连接)类型的任何数据,但我的都不是。我已经建立了我的模型,如果可能的话,我想使用它。
我发现的大多数示例都是直接从数据库或自定义数据集创建报告。我不知道该怎么做了。这就是我来这里的原因。

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