← 返回所有博客文章

在 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