ActiveReports中如何控制页面的记录数

发布时间:2016/09/27 00:09 发布者:lenka.guo

返回博客中心

在 ActiveReports 中,可以固定报表每页显示的行数,当每页的数据不足固定的行数时,自动通过填补空白行来实现,当然这两种功能仅限于区域报表和页面报表中。

区域报表

在区域报表中,有很多方法来控制报表显示的行数

1. 在Detail 区域使用 RepeatToFill属性

如果有很多数据需要在多页中显示,设置Detail 区域的 RepeatToFill 属性为True,会在页面底部自动增加空行

RepeatToFill

 

注意: 以下因素可能会导致RepeatToFill属性失效

  • 详细数据区域中发生分页或包含子报表控件
  • NewPage或NewColumn属性设置为其他值而不是None
  • 报表中包含多个分组; 报表中如果有多个分组的话,RepeatToFill会引起ReportFooter区域打印到下一页,而RepeatToFill只会在一个分组时生效。

 

2.在数据集中添加空行

当然这种方法可能只是解决了呈现问题,效果并不是期望的。

3. 使用FetchData 事件

在设计时绑定数据源的报表中,从数据源检索到数据记录时都会打到文件的末端(EOF),当报表生成完后,返回eArgs.EOF属性为True。这个时间点中,如果设置eArgs.EOF 为False 会允许用户在详细数据区域中导出任意数量的数据。

4. 在未绑定数据源报表中,使用代码实现。

在运行时绑定数据源的报表中,可以通过代码来为报表绑定数据集,所以可以实现实现自动填充空白的功能。

当修改FetchData事件中分组数据时,不需要移动数据,只需要在Fields集合中多次添加空白数据,来补充空白行。

5.使用Overlay方法

可以通过Overlay方法将报表中的某一页叠加到其他报表页的集合中。例如,先创建使用line 控件画出的报表轮廓的报表,报表中包含10行数据的页面;然后运行此报表并叠加到第二数据张报表的页,让数据行覆盖空行。

6. 使用LayoutAction 属性

通过修改LayoutAction值,不需要修改或移动记录就能渲染报表。

使用LayoutAction属性允许在报表的任何边界中输出空行。

页面报表

页面报表中,可以使用表格控件的阴影区域来控制每页的显示行数。

1. 设置 RepeatToFill 属性

通过设置表格控件的RepeatToFill属性为True来控制行数

image

 

了解ActiveReports产品更多特性:

/developer/activereports

下载产品体验产品功能:

/download/?pid=16


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网