0

我正在使用 Winforms Reporting Services (RDLC) 生成具有子报表的报表。我的问题是子报表没有被父 ID 过滤。

数据模型的一个简单示例可能是包含员工的部门。

在报告中,我想显示所有部门并有一个子报告来显示属于该部门的员工。

我创建了一个包含两个数据表(部门和员工)的数据集。我使用 DepartmentId 列在两个表之间创建了关系。

在表格中,我使用适当的填充命令填充每个表格。我先填写Department 表,然后填写Employee 表,即Select * From Deparment 和Select * from Employee。

现在对于实际的 RDLC:Department rdlc 使用 Deparment 数据源并显示有关该部门的信息。我在这个 rdlc 上放置了一个子报表控件并设置了属性。我将 ReportProperty 传递给 Field!DepartmentId 的子报表。

在 Employee rdlc 中,我添加了 Employee 数据源并在 Property!DepartmentId 上创建了一个过滤器。

当我运行报告时,我可以循环浏览每个部门,但子报告不显示。如果我从员工数据源中删除过滤器,子报表会显示但显示所有员工。

在表单本身中,我正在处理 SubProcessing evert 并将 Employee 数据源添加到报告中。

关于如何将子报表数据链接到父级的任何想法?

4

1 回答 1

1

将父级的 ID 作为参数传递给子报表,然后根据该参数值过滤子报表中的表。

MSDN - 配置子报表和钻取报表

于 2009-04-09T18:37:35.243 回答