C# ReportViewer列组分页符
我需要使用ASP.NET ReportViewer生成每日员工出勤报告。它必须按月分组,这意味着我必须根据C# ReportViewer列组分页符,c#,asp.net,reporting-services,reportviewer,C#,Asp.net,Reporting Services,Reportviewer,我需要使用ASP.NET ReportViewer生成每日员工出勤报告。它必须按月分组,这意味着我必须根据monthName字段设置分页符 我在RDLC报告中提出了以下设计: 结果是: 起初,一切都很好。第一页显示1月份的出席人数,从1月1日到31日。单击报告上的“下一页”按钮可显示下个月(即2月)的员工出勤记录 但是雇员可能相当多,因此最好将其呈现为行而不是列。没问题。我可以重新设计报告,然后再次将分页符设置为[monthName],例如: 令我惊讶的是,它不起作用。我在MSDN中发现,
monthName
字段设置分页符
我在RDLC报告中提出了以下设计:
结果是:
起初,一切都很好。第一页显示1月份的出席人数,从1月1日到31日。单击报告上的“下一页”按钮可显示下个月(即2月)的员工出勤记录
但是雇员可能相当多,因此最好将其呈现为行而不是列。没问题。我可以重新设计报告,然后再次将分页符设置为[monthName]
,例如:
令我惊讶的是,它不起作用。我在MSDN中发现,在列组中不允许分页符
我的问题是:
我将尽力在下面解释一种可能的解决方法:
解决方法
Tablix
添加到只有一列和一行的报告中。将此表绑定到数据集monthName
上添加行组,并将tablix的大小重新调整为与报表正文相同的大小矩形
。并将矩形的PageBreak
属性BreakLocation
设置为EndmonthName
上分组,并且在末尾有一个分页符,这将导致报告者每页打印一个组
如果您有任何问题,请留下评论。谢谢,但我注意到一个月内出现null
logCnt
的员工不会出现在页面中。我需要向所有有或没有日志的员工展示。以前,它在不使用此解决方案的情况下工作。为了产生我想要的结果,我需要配置什么?如果以前的分组有效,只需尝试在外部表中使用相同的分组。矩形负责添加打断,因此不应该出现以前的问题。另一个解决方案是改变获取数据的SQL查询。使用LEFT-OUTER-JOIN
并在必要的列中捕获空值,如下所示:ISNULL(logCnt,0)
。这将确保组中有记录,即使它们是空的。希望您也能回答我以后关于ReportViewer的问题:)