Svi*_*ish 8 c# objectdatasource report reporting-services
我有两个本地数据源可以推送到报告中.没问题.但是如何设置报告呢?一个数据源包含员工列表以及有关这些员工的信息.另一个包含每个员工的一堆工作时间.
我想在员工列表中使用一个表格,然后在每个员工的工作时间内(另外还有工作时间表).
这甚至可能吗?我必须使用子报告吗?我是否必须将它们合并为一个数据源?= /
据我所知,不使用子报表就不可能将一个数据集嵌套在另一个数据集中.
这意味着您需要做以下两件事之一:
将两个数据源重构为一个数据源.例如,在员工和每个员工的工作时间之间执行联接.然后,您可以使用Table对象的分组属性以您希望的方式格式化列表.
如果加入这两个数据源不可行,则可以使用子报表来完成所需的操作.创建包含工作时间数据源的子报表,并为当前员工提供参数.按此参数过滤工作时间.
在父报表中,可以将子报表放在列表中,并将当前行的员工ID作为参数传递.
请注意,使用子报表涉及一些格式化怪癖.在大多数情况下,我已经能够解决它们,但首选的方法绝对是上面的第一.
添加新答案以确保为其发送通知.
使用子报表是最简单的方法.您只需将子报表拖放到表格单元格上,它就会填充该单元格的内容区域.右键单击子报表将允许您编辑子报表的参数.与SSRS中的大多数值一样,参数可以设置为使用表中字段的表达式.
在子报表中,只过滤结果以仅显示与作为参数传入的员工关联的记录.
您可以采用的另一种方法是使用连接合并两个数据源.这将为您提供如下数据:
employee1 time1.1
employee1 time1.2
employee1 time1.3
employee1 time1.4
employee2 time2.1
employee2 time2.2
employee2 time2.3
Run Code Online (Sandbox Code Playgroud)
然后,您可以在重复列(本示例中为employee)上创建一个组,并在这些列上启用HideDuplicates属性.结果将如下所示:
employee1 time1.1
time1.2
time1.3
time1.4
employee2 time2.1
time2.2
time2.3
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11418 次 |
最近记录: |