RDLC报告基于DataTable列的列

时间:2015-11-01 10:10:56

标签: c# datatable report rdlc

我有大约20个DataTables,我想使用RDLC报告为每个DataTable打印报告。问题是,我必须为每个DataTable创建一个报告。是否可以动态地将DataTable中的列分配给RDLC报告(这样我将只使用一个rdlc报告来处理所有数据表,只更改数据源)

1 个答案:

答案 0 :(得分:0)

根据评论,您的内容完全不同。我的意思是一个查找表,你可能有10个查找表,并且都有通用的“ID”,“描述”列,但对于基于医疗的应用程序(听起来像),每个都是如此广泛的不同,我不会建议动态创建报告。输出的数据宽度不同,格式化等。我会为每个相应的内容创建一个报告。

现在,如果您的目的是让一个报告根据内容生成不同格式的数据,例如有关特定患者的所有详细信息,那么您可以查看SUBREPORTS以获取RDLC。这方面的基本前提是您有一个主报表,其中包含最顶层组件的数据。在这种情况下,可能是患者或实际检查......您的选择。

然后,在详细级别,您将SUBREPORT添加到主报表。现在,子报告实际上只是另一个RDLC报告,它被拉入主报告,其数据源可以从主报告中获得以显示其内容(它可以有自己的多行/组,例如多种药物上市)。或者只是一行(患者信息/或检查)。

我在各种报告中执行此操作,并使用DataSet加载数据。这样,一个DataSet可以在其​​中包含多个DataTable作为参考,并且每个DataTable可以具有可用的DataRows。此类报告的基本布局可能是

MainReportByPatient.rdlc
Patient name, birth, id, etc
address, phone, email, etc...
+------------
|  SubReportMeds.rdlc
|  +------------
|  |  Medication    Dose     Purpose
|  |  details...    details  details
|  |  details...    details  details
|  |  details...    details  details
|  +-------------
|  ExamHistory.rdlc
|  +------------
|  |  Exam Date     Reason     blah...
|  |  details...    details... blah..
|  |  details...    details... blah..
|  |  details...    details... blah..
|  |  ExamDetail.rdlc
|  |  +-------------
|  |  | additional nested level per exam to show details... just example
|  |  +-------------
|  |
|  +------------
|
+-------------

这是否与您的报告有关?