以列表列表作为数据源的 RDLC 报告

RDLC Report with a List of Lists as its Datasource

我有一个 objects 的列表,每个成员都有一个 objects 的列表。例如,给定以下 2 类:

Class Phone
 string AreaCode
 string Description
 string Number

Class Employee
 string FirstName
 string LastName
 List<Phone> Phones

然后我有多个员工,每个员工有多个 Phones:

List<Employee> Employees

我的任务是创建一个 RDLC 报告来列出数据。格式类似于:

名字 姓氏 Phone.Description-1 Phone.Description-2 ... Phone.Description-n
名 姓 Phone.Number-1 Phone.Number-2 ... Phone.Number-n
名 姓 Phone.Number-1 Phone.Number-2 ... Phone.Number-n
名字 姓氏 Phone.Number-1 Phone.Number-2 ... Phone.Number-n

我不知道将从数据库中返回多少 Phone(在此示例中)。

请注意 Phone.Number 列上方的 header 也来自

List<Phone>

虽然这些也来自数据库,但它们在

的所有成员中都是相同的
List<Employee>.List<Phone>

(即 Employee1-Phone1、Employee2-Phone1 和 Employee3-Phone1 都将具有相同的 Phone1 header ).

我可以使用

创建 RDLC 报告
List<Employee> 

作为其数据源,但一直无法找到一种方法来合并

List<Employee>.List<Phone>

与其 parent 员工在同一行。

这在 RDLC 矩阵中可行吗?或者是否有可以利用的 "auto-generate columns" 类型的功能?

感谢您提供任何 help/direction/suggestion。

附录: 我应该提一下,从数据库返回的数据集正是我需要的格式。但是,由于我不知道将返回多少 "Phone" 列,因此我没有可定义的架构,因此无法在设计器中创建报表。出于同样的原因,我无法以编程方式将数据源设置为 DataSet,因为报表上没有定义 schema/grid。

动态列可能很棘手 - 特别是因为您没有限制单个姿势可以有多少 phone。有一些方法可以解决这个问题——比如 generating/adjusting rdlc xml file/stream 由应用程序提供报告。可以在此处找到更多此类参考资料 Generate columns dynamically in RDLC

我想建议用 phone 号右加入员工并使用层次结构 (tablix),员工数据为 "parent",phone 数据为 "child".