找回密码
 立即注册

QQ登录

只需一步,快速开始

Ellia.Duan SpreadJS 开发认证
超级版主   /  发表于:2022-11-18 12:05  /   查看:1094  /  回复:0
本帖最后由 Ellia.Duan 于 2022-11-18 12:05 编辑

在上篇文章中提到,模板分页功能可以让你依据记录数或者页面大小,为具有相同布局的报表中的工作表分页。例如,此功能有助于生成诸如商品订货单之类的报告,这些报告需要以固定格式显示这篇文章我们将讲述一下,如何对表单数据进行分页。
首先先熟悉下模板结构,下面将标题行了解为页眉,小计理解为页脚。看下面四个场景中,如何对该表单进行分页。

image.png952264404.png


案例 1、重复页眉或页脚
要实现重复页眉或者页脚,用到了RepeatWithGroup属性。
RepeatWithGroup属性是设置了单元格引用,设置该单元格及其子孙结点随指定单元格重复显示。
如下面的两种场景:重复页眉和重复页眉页脚。
  • 1.1 重复页眉 :为页眉B5设置属性RepeatWithGroup=B6 即如果B6分页,页眉跟着一起出现,即重复页眉。
B4:{{ds.Company(R=B4:D8)}}
B5:顾客{{(RepeatWithGroup=B6)}}
image.png58521117.png
页面实现效果如下:

image.png491978454.png
  • 1.2 重复页眉和页脚 :为页脚B7设置属性RepeatWithGroup=B6 即如果B6分页,页脚跟着一起出现,即重复页脚,页眉同上。
B4:{{ds.customer(R=B4:D8,KeepTogether=Vertical)}}
B5: 商品{{(RepeatWithGroup=B6)}}
B7:Subtotal{{(RepeatWithGroup=B6)}}
image.png986766967.png
最后实现效果如下:

image.png503308104.png

案例 2、跨页合并单元格的重新输出值
如果想要实现跨页合并单元格的重新输出值可以用RepeatOutput属性:,其是布尔类型。 该值可以是 True 或 False(默认)。 设置当合并单元格跨页时,是否在每一页都显示值。如下设置了RepeatOutput=true即跨页合并单元格的重新输出值。
具体属性设置如下:
B4:{{ds.Company(R=B4:D8)}}
B5:商品{{(RepeatWithGroup=B6)}}
B6: {{ds.product(RepeatOutput=true)}}
image.png381793822.png
实现效果如下:
image.png225656127.png


案例 3、将公司放在一页中
如果想实现上述场景,可以用到KeepTogether属性。其是一个枚举类型。 该值可以是 Horizontal, Vertical, Both, None(默认)。 设置该单元格及其子孙结点在设置的纵向/横向上应尽可能保持在同一页。
如下为B4设置了KeepTogether=Vertical,即同一个公司在纵向上尽可能保持在同一页。
B4:{{ds.Company(R=B4:D8,KeepTogether=Vertical)}}
image.png585364989.png
实现效果如下:
image.png825614013.png


案例4、页脚与最后一行必须在一页
如果想实现上述场景,可以用到AttachTo属性,其是一个 单元格引用。设置该单元格必须与指定单元格同时出现。
如设置小计必须与商品在一页,则可以实现页脚与最后一行在同一行。
B4:{{ds.Company(R=B4:D8)}}
B7:小计{{(AttachTo=B6)}}
image.png122692259.png

实现效果如下:
image.png847759704.png






0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部