每页序号重新开始

  • 社区级协助
  • 文档创建者:axing
  • 历史版本:14
  • 最近更新:Fairy.Zhang 于 2025-02-27
  • 1. 概述

    1.1 应用场景

    直接使用 seq( ) 的方法,分页预览会使序号承接上一页的序号继续递增。

    例如,第一页显示了 55 行,第二页序号直接从 56 开始。如下图所示:

    222

    希望分页预览报表时,每一页的序号计数重新从 1 开始计算。如下图所示:

    222

    1.2 实现思路

    注:本方案仅适用于分页预览。

    1)原有序号虽然是递增的,但是保证了每一行都是唯一性的。

    2)在原有序号的基础,判断当前序号在本页内的位置,每页即可重新得到从 1 开始的序号。

    2. 示例

    2.1 新建模板

    新建一张普通报表。如下图所示:

    新建普通报表.jpg

    2.2 准备数据

    新建数据库查询 ds1 ,输入 SQL 查询语句:SELECT * FROM 订单明细 。如下图所示:

    6.png

    2.3 设计报表

    1)C1~H1 单元格输入文本,C2~H2 单元格拖入相应的数据列,设计报表样式。如下图所示:

    7.png

    2)批量选中 C2~H2 单元格,点击右侧的「单元格元素」,数据设置为「列表」。如下图所示:

    8.png

    3)A2 单元格插入公式为:seq()A2 单元格的左父格自定义为 C2 单元格。如下图所示:

    9.png

    4) B1 单元格输入文本,B2 单元格插入公式:if(COUNT({A2})=1,1,inarray(A2,{A2})),设计报表样式。如下图所示:

    注:当一页只有一行时,{A2} 获取到的是一个值,不会当成数组来处理,而 inarray 第二个参数必须是数组,所以需要 if 条件判断。

    公式说明如下表所示:

    公式
    说明
    {A2} 当前页中 A2 单元格扩展出来的所有值
    COUNT({A2})当前页中 A2 单元格扩展出来的所有值的个数
    inarray(A2,{A2})返回当前 A2 单元格的值在当前页中 A2 单元格扩展出来的所有值的数组中的位置
    if(COUNT({A2})=1,1,inarray(A2,{A2}))如果当前页中 A2 单元格只扩展出一个值,返回1;否则返回当前 A2 单元格的值在当前页中 A2 单元格扩展出来的所有值的数组中的位置

    10.png

    5)B2 单元格的左父格自定义为 C2 单元格。如下图所示:

    11.png

    6)设置第一行重复标题行。如下图所示:

    12.png

    7)隐藏 A 列。如下图所示:

    13.png

    2.4 效果预览

    1)PC 端

    保存模板,选择「分页预览」,实现效果如 1.1 节中所示。

    2)移动端

    APP 效果与 HTML5 效果相同,如下图所示:

    222

    3. 模板下载

    点击下载已完成模板:每页序号重新开始.cpt


    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    9s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持

    反馈已提交

    网络繁忙