### 概述
–web
使用 Word 编辑文档,当文本或图形等内容填满一页时,Word 会插入一个自动分页符并开始新的一页。若是要在某个特定位置强制分页,可手动插入分页符(分隔符内),这样能够确保章节标题总在新的一页开始。sql
对于报表来说,一样有相似的需求,好比一个订单包括订单信息(订单编号、货主信息、各类日期时间等)及明细信息(产品列表),常见报表呈现形式以下图浏览器
问题:当一次查询多个订单,因产品列表的行数是不固定的,也就没法保证每一个订单都刚好能重新的一页开始。工具
解决方案很简单,如同 word 的分页符,这就要求报表工具支持在每一个订单的产品列表后强制分页。spa
润乾报表如何解决?设计
很简单,一个行属性的问题。3d
接下来的内容,结合“订单”及“订单明细表”为你们介绍如何来作。excel
准备一张结果以下图所示的主子表code
模板设计以下blog
数据集sql: 1. 订单:SELECT 订单.订单ID,订单.订购日期,订单.到货日期,订单.发货日期,订单.运货商,订单.货主地址,雇员.姓氏,雇员.名字,客户.公司名称 FROM 订单,客户,雇员 WHERE 订单.客户ID = 客户.客户ID AND 订单.雇员ID = 雇员.雇员ID 2. 明细:SELECT 订单明细.订单ID,订单明细.产品ID,订单明细.单价,订单明细.数量,订单明细.折扣 FROM 订单明细 B2表达式:=订单.select(订单ID) D3表达式:=订单.姓氏+订单.名字 B四、B五、B六、E四、E5均为:=订单.字段名 A8表达式:=明细.select(产品ID,订单ID==B2) B八、C八、D8均为:=明细.字段名 E8表达式:=B8\*C8\*D8 第9为增长的空白行,用于每一个订单的该行后强制分页。 另外,A1—A9的左主格设置为B2
数据集sql: 1. 订单:SELECT 订单.订单ID,订单.订购日期,订单.到货日期,订单.发货日期,订单.运货商,订单.货主地址,雇员.姓氏,雇员.名字,客户.公司名称 FROM 订单,客户,雇员 WHERE 订单.客户ID = 客户.客户ID AND 订单.雇员ID = 雇员.雇员ID 2. 明细:SELECT 订单明细.订单ID,订单明细.产品ID,订单明细.单价,订单明细.数量,订单明细.折扣 FROM 订单明细 B2表达式:=订单.select(订单ID) D3表达式:=订单.姓氏+订单.名字 B四、B五、B六、E四、E5均为:=订单.字段名 A8表达式:=明细.select(产品ID,订单ID==B2) B八、C八、D8均为:=明细.字段名 E8表达式:=B8\*C8\*D8 第9为增长的空白行,用于每一个订单的该行后强制分页。 另外,A1—A9的左主格设置为B2
重点!!!在模板中设置行后分页,选中第 9 行,属性区“行属性”—“行后分页”
复选框内打勾,保存模板。
分页仅在 web 端有效,因此先发布报表,浏览器预览报表以下
经过设置强制行后分页,轻松实现每一个新订单都重新的一页开始。针对这种比较经常使用的功能,报表工具在设计时都已考虑到,尽管和 word、excel 等内的叫法不一样,但功能相同。遇到相似问题查阅手册,对应设置便可。
另外,行后分页支持表达式定义,因此能够控制任意知足条件下的强制行后分页。该部分也将在后续的文章中陆续介绍。