2019-10-15

报表

  1. 首先ctrl+shift+R,先找到报表所在文件夹

  2. 右键新建报表

  3. 在如图所示菜单中设置数据集和参数

    ![img](file:///C:/Users/Administrator.NEU-20160926CDQ/Desktop/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/img/%E9%A3%9E%E9%B8%BD%E6%88%AA%E5%9B%BE20180612165328.png?lastModify=1528793657)

    先设置参数:参数为整张报表所需要的所有参数

    再设置数据集:这里数据集为报表中所要显示的数据,数据集可以多个

    注意:

    1. 在设置数据集时需要编写sql语句,sql语句查询出的列要有伪列名,伪列为报表中每一个单元格的值

    2. 当sql语句中有参数时,我们上一步所设置的参数就起作用了,参数书写形式为$ac01_aac001

      select ac01.aac001 aac001,ac02.aae140 aae140,ac02.aac008 aac008,ab01.aab004 aab004
      from ac01,ac02,ab01
      where ac01.aac001 = ac02.aac001
      and ac02.aab001 = ab01.aab001
      and ac01.aac001 = $ac01_aac001 
      and ac02.aae140 = $ac02_aae140
      
  4. 往报表模板中传入sql语句

    按住数据集中的伪列,如AAC001,拖拽到个人编号下(想显示的位置)

    选择查询,点击确定,注意:刚画好的报表要发布!

  5. 接下来就是前台页面,在前台中,报表是附着在html控件上的,因此要在前台中放置html控件

    设置html代码

    <iframe id="reportiframe" src="" style="height: 480px;width:700px; position: relative;">
    </iframe>
    

    在打印报表按钮的点击事件中编写传参的代码,这里我以个人编号和险种类型两个参数为例

    var ac01_aac001 = trim(unieap.byId("AC01_AAC001").getValue());
    var ac02_aae140 = "41";
    

    接下来就是将查询到的值显示到报表上

    document.getElementById(unieap.getRealId("reportiframe")).src =
      unieap.WEB_APP_NAME+"/Report-ResultAction.do?reportId=d0993d99-3400-4e7e-8dbc-9fb26b645dd4&newReport=true&encode=true&ac01_aac001="+encodeto64(ac01_aac001)
        +"&ac02_aae140="+encodeto64(ac02_aae140);
    

    还有一种写法:

    var reportID="d0993d99-3400-4e7e-8dbc-9fb26b645dd4";
    var condition ="&ac01_aac001=" + encodeto64(ac01_aac001) +"&ac02_aae140=" + encodeto64(ac02_aae140);
    document.getElementById(unieap.getRealId("reportiframe")).src = unieap.WEB_APP_NAME
             + "/Report-ResultAction.do?reportId="
             + reportID
             + "&newReport=true&encode=true" + condition;
    

    注意:这里document.getElementById(unieap.getRealId("reportiframe")).src中的id不同于标准的js写法

报表的一些方法

序号

=seqNum()

自增序列,需要依赖行,比如aac001,有一条aac001就有一个序列号

=get( 'ds1', 'ROWNUM')

随sql语句中rownum产生的序号

=offSet('D4'+1)

这种序号在做分页时,每一页的第一条数据的序号都从1开始

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 111111111111111111111111111111111111111111111111111111111...
    彬qwb阅读 680评论 0 0
  • ——《非暴力沟通》共读(5) 【活动】:不二俱乐部主题共读打卡第6天 【昵称】:优爸·正能量大叔 【组别】:2组 ...
    优爸_IT_海口阅读 161评论 0 0
  • 504b 0304 1400 0008 0800 4498 963d a6fa9ff3 9f41 1e00 a88...
    BossOx阅读 11,476评论 0 0
  • 6270 a1da b5e7 b8aa 4d60 60c6 dea2 9fcc66b3 1acd 0596 77b...
    BossOx阅读 9,562评论 0 0
  • kubernetes 1.15 install for kubeadm 安装条件 阿里云镜像服务器访问畅通 doc...
    star1988007阅读 90评论 0 0