zoukankan      html  css  js  c++  java
  • 如何使用序号函数给报表加序号(润乾报表)

    润乾报表提供了一个可以给可扩展的单元格自动加序号的函数-&函数,本文就来给大家介绍一下此函数的用法。

    首先,看一下函数解释和功能效果

    表达式:&Cellx (例如:&A2 )
    返回值:整数,当前格所属的Cellx主格在所有扩展出来的格子中的排序
    说明:Cellx必须是当前格的主格,这样&Cellx才能够正确运算,其返回值相当于是当前格所属的Cellx主格的位置

    效果见下图:(图中B2为A2的主格,即为B2的扩展格排列序号)

    lizi.png

    下面我们就用一个简单的例子来体验一下这个函数

    正常需求:给报表的每一行都加上序号

    第一步:新建报表

    连接润乾自带的demo数据源,在订单表上建立数据集ds1,并生成网格式报表,其sql语句为:SELECT 订单.订单ID,订单.货主名称,订单.货主城市,订单.运货费 FROM 订单

    网格报表设计如下:

    rq_71.png

    预览效果如下:

    rq_72.png

    第二步:加序号

    在A列前插入新列,在新列的单元格中写入下面的表达式
    A1:序号 A2:=&B2
    然后把A2的左主格设为B2(这个操作很重要,A2中的序号是根据B2的扩展排列的)

    rq_73.png

    设置完成后预览就可以看到我们想要的效果了,如下图:

    rq_74.png

    需求扩展:报表分页后每页都重新从1开始排列序号

    上面的设置产生的序号不管报表分页与否都是连续的,但是有些用户想要分页以后序号重新从1开始排,也就是每页都是重新排列序号的效果。下面就来看润乾报表如何解决这个特殊需求。一般这样的分页报表发布展示后每页显示的行数是固定的,像我们这个报表每页显示就是29行,我们可以用给序号取模的原理来让每页都从1开始排序,具体操作是把A2单元格中的表达式换成:=&B2%29,然后我们看一下发布后的效果:

    rq_75.png

    这样,需求就解决了。下面说一下应该注意的地方:

    此方法只能用在每页的数据区行数固定的情况下(报表头必须每页显示或者都不显示),如果每页行数不是固定的29行,对29取模就没有意义了,就不能保证每页从1开始排序号了。

    希望这个序号使用的小技巧可以帮的上润乾报表用户的忙,让报表开发更方便一些。

  • 相关阅读:
    zabbix--5.0.2部署手册
    ssh远程连接出现WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
    centos7自带python2.7.5安装pip
    Nginx代理kibana方法2
    安洵杯Laravel反序列化非预期+POP链挖掘
    vue笔记:vue组件的生命周期
    通用测试用例编写
    Vue笔记:Vue中使用mockjs
    Python map、reduce、filter函数用法
    Python如何实现异步IO
  • 原文地址:https://www.cnblogs.com/wdmwj626/p/4864053.html
Copyright © 2011-2022 走看看