解决 RDLC 报表自动分页表头显示问题
今天在做报表的时候遇到一个很影响用户体验的一个问题,就是报表数据多时自动分页后表头无法跟随。
我使用的报表是微软Report Viewer Control,这是微软自己的报表解决方案,以下就叫RDLC报表。
这个报表使用上,功能简单,很傻瓜化,绘制起来也很方便,具体功能网上可以找到很多资料。
这里我主要说下我的解决办法,其实很简单,我们都知道RDLC是用XML来描述一个报表相关的一切。我当时想着通过设计视图,可以找找属性设置下就可以了,可发现并没有这个属性来设置,于是就去看它的每一个节点,查MSDN,后来发现,只需要在<TablixMember>节点添加<RepeatOnNewPage>true</RepeatOnNewPage>子节点就可以,并设定值为true.
有些朋友在VS环境中无法打开XML编辑方式,这里我提示一下,你可以去工程目录下用记事本打开扩展名为RDLC的文件,也可以直接在VS中搜索<TablixMember>,并设定查找范围为“当前项目”,默认会在VS环境打开该报表
以下是报表部分节点
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
<RepeatOnNewPage>true</RepeatOnNewPage>
</TablixMember>
<TablixMember>
<Group Name="详细信息" />
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
<RepeatOnNewPage>true</RepeatOnNewPage>
</TablixMember>
<TablixMember>
<Group Name="详细信息" />
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
增加下划线部分,打印出来的报表就可以带表头,自动分页了。
以下是我设计的报表截图及打印效果