像 word 手动插入分页符一样实现报表中强制分页(强制分页)

概述


使用 Word 编辑文档,当文本或图形等内容填满一页时,Word 会插入一个自动分页符并开始新的一页。如果要在某个特定位置强制分页,可手动插入分页符(分隔符内),这样可以确保章节标题总在新的一页开始。

对于报表来讲,同样有类似的需求,比如一个订单包括订单信息(订单编号、货主信息、各种日期时间等)及明细信息(产品列表),常见报表呈现形式如下图

ww1png

问题:当一次查询多个订单,因产品列表的行数是不固定的,也就无法保证每个订单都恰好能从新的一页开始。

解决方案很简单,如同 word 的分页符,这就要求报表工具支持在每个订单的产品列表后强制分页。

润乾报表如何解决?

很简单,一个行属性的问题。

接下来的内容,结合“订单”及“订单明细表”为大家介绍如何来做。

操作步骤

准备一个主子表格式报表模板

准备一张结果如下图所示的主子表

ww2png

模板设计如下

ww3png

数据集sql:

1.  订单:SELECT 订单.订单ID,订单.订购日期,订单.到货日期,订单.发货日期,订单.运货商,订单.货主地址,雇员.姓氏,雇员.名字,客户.公司名称 FROM 订单,客户,雇员 WHERE  订单.客户ID = 客户.客户ID  AND  订单.雇员ID = 雇员.雇员ID
2.  明细:SELECT 订单明细.订单ID,订单明细.产品ID,订单明细.单价,订单明细.数量,订单明细.折扣 FROM 订单明细

B2表达式:=订单.select(订单ID)

D3表达式:=订单.姓氏+订单.名字

B4、B5、B6、E4、E5均为:=订单.字段名

A8表达式:=明细.select(产品ID,订单ID==B2)

B8、C8、D8均为:=明细.字段名

E8表达式:=B8\*C8\*D8

第9为增加的空白行,用于每个订单的该行后强制分页。

另外,A1—A9的左主格设置为B2

模板中设置行后分页(强制分页)

重点!!!在模板中设置行后分页,选中第 9 行,属性区“行属性”—“行后分页”

ww4png

复选框内打勾,保存模板。

预览报表结果

分页仅在 web 端有效,所以先发布报表,浏览器预览报表如下

ww5png

通过设置强制行后分页,轻松实现每个新订单都从新的一页开始。针对这种比较常用的功能,报表工具在设计时都已考虑到,尽管和 word、excel 等内的叫法不同,但功能相同。遇到类似问题查阅手册,对应设置即可。

另外,行后分页支持表达式定义,所以可以控制任意满足条件下的强制行后分页。该部分也将在后续的文章中陆续介绍。

更多报表特性相关问题请查看:展示效果相关问题分类导航
* 像 excel 一样轻松冻结 web 报表表头 (锁定表头)
* 报表设计技巧之隔行异色
* web 报表中电子图章 / 水印的轻松实现
* 动态切换 web 报表中的统计图类型
* 动态水印怎么做