基于 DataTable 列的 RDLC 报表列

RDLC report columns based on DataTable columns

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

根据评论,您的内容完全不同。我的意思是查找 table,其中您可能有 10 个查找 table,并且所有查找都有通用的 "ID"、"Description" 列,但对于基于医学的应用程序(听起来),每一个都大相径庭,我不建议动态创建的报告。输出的数据宽度、格式等不同。我会为所需的每个相应内容创建一个报告。

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

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

我在各种报告中都这样做,并使用数据集加载数据。这样,一个 DataSet 中可以有多个 DataTables 作为参考,每个 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
|  |  +-------------
|  |
|  +------------
|
+-------------

这是您报告中需要的东西吗?