Active Reports特定页面数据隐藏求助:页总计与总计显示异常
解决Active Reports中总计仅在第二页显示的问题
嘿,刚上手Active Reports碰到这种页面内容控制的问题太正常了,我给你分享两个靠谱的解决思路,亲测能搞定你的需求:
方法一:用表达式直接控制总计控件的可见性
这是最快捷的方式,利用报表自带的PageNumber和TotalPages属性来判断当前页面是否为最后一页(也就是你说的第二页):
- 选中你的总计文本框控件
- 在属性面板里找到
Visible属性,点击旁边的表达式按钮(那个小fx图标) - 输入表达式:
=IIF(PageNumber = TotalPages, True, False)
这个逻辑很简单:只有当当前页码等于总页数时(也就是最后一页),总计才显示,其他页面自动隐藏。如果你的报表确定只会有两页,也可以直接写=IIF(PageNumber = 2, True, False),不过用TotalPages更灵活,后续页数变化也不用改代码。
方法二:通过报表Print事件动态控制
如果表达式的方式不够灵活,还可以用代码来实现:
- 打开报表的代码视图(比如在VS里右键报表选「查看代码」)
- 根据你用的语言添加对应代码:
C#版本
private void Report_Print(object sender, EventArgs e) { // 替换成你实际的总计控件名称,比如txtGrandTotal txtGrandTotal.Visible = (this.PageNumber == this.TotalPages); }
VB.NET版本
Private Sub Report_Print(sender As Object, e As EventArgs) Handles Me.Print txtGrandTotal.Visible = (Me.PageNumber = Me.TotalPages) End Sub
另外提醒下:页总计的控件要放在页面页眉/页脚区域,这样才能确保每页都显示,别和总计控件的位置搞混啦。
内容的提问来源于stack exchange,提问作者xty
相关产品推荐
相关产品推荐

