我正在使用Winforms Reporting Services(RDLC)生成具有子报表的报表。 我的问题是子报告没有被父ID过滤。
数据模型的一个简单示例可能是包含Employees的部门。
在报告中,我想显示所有部门,并有一个子报告来显示属于该部门的员工。
我创建了一个包含两个DataTables(部门和员工)的数据集。我使用DepartmentId列在两个表之间创建了一个关系。
在表格I中使用适当的填充命令填写每个表格。我首先填写Department表,然后填写Employee表,即Select * From Deparment和Select * from Employee。
现在对于实际的RDLC: 部门rdlc使用Deparment数据源并显示有关部门的信息。我在这个rdlc上删除了一个子报告控件并设置了属性。我将ReportProperty传递给子报告,即Field!DepartmentId。
在Employee rdlc中,我添加了Employee数据源并在Property!DepartmentId上创建了一个过滤器。
当我运行报告时,我可以遍历每个部门,但子报告不会显示。如果从Employee数据源中删除过滤器,则子报表显示但显示所有员工。
在表单本身中,我处理SubProcessing evert并将Employee数据源添加到报表中。
有关如何将子报表数据链接到父级的任何想法?
答案 0 :(得分:1)
将ID从父级传递到子报告作为参数,然后根据该参数值过滤子报告中的表。