求助:如何在SSRS多页Tablix的每个分页符末尾添加边框
我之前也被这个问题卡过好一阵!给Tablix的分页符位置加边框确实没法通过常规的可视化设置直接实现,不过我摸索出几个实用的方案,你可以根据自己的报表情况来选:
方案1:利用分组分页+组尾边框(最推荐)
如果你的报表是按某个逻辑分组来分页的(比如按部门、日期段),这个方法最省心:
- 先确保Tablix的分组设置里,已经勾选了**“在组的末尾分页”**(右键分组→组属性→分页)
- 给这个分组添加一个组尾行,然后给组尾行设置底部的实线边框
- 要是不想显示组尾的其他内容,直接把组尾行的高度调得极小(比如0.1cm),只保留边框,视觉上就只有一条分页线,完全符合需求
方案2:自定义代码判断页末行(适合无固定分组的场景)
如果你的Tablix只是按固定行数分页,没有明确的逻辑分组,可以用SSRS的自定义代码来识别每页的最后一行:
- 打开报表属性→代码标签,粘贴这段VB代码:
Dim currentPage As Integer = 0 Public Function IsLastRowOnPage(ByVal pageNumber As Integer) As Boolean If pageNumber <> currentPage Then currentPage = pageNumber Return False End If Return True End Function
- 选中Tablix的细节行,右键→边框→底部边框的样式,设置成表达式:
=IIF(Code.IsLastRowOnPage(Globals!PageNumber), "Solid", "None")
- 这样每个页面的最后一行就会自动显示底部边框,刚好对应分页的位置
方案3:页脚辅助边框(适合全页宽的分页线)
如果你需要的是贯穿整个页面宽度的分页边框,而不是只在Tablix范围内:
- 在报表的页脚顶部添加一个矩形控件,把矩形的宽度拉到和页面一样宽,高度设为1px左右
- 给矩形设置底部的实线边框,这样每个页面的底部都会出现一条完整的分页线,完美适配Tablix的分页场景
小提示
测试的时候一定要切换到打印预览模式,普通的设计预览可能不会准确渲染分页和边框效果;如果Tablix有跨行合并单元格的情况,记得检查分组层级,避免边框出现错位。
内容的提问来源于stack exchange,提问作者yuri diamanti




