第1章 概述
UniEAP Report定义普通报表和图表的时候可以在单元格或者图表系列上增加超链接,这一特性主要是为了实现报表钻取功能,也就是跳转到另一张报表,并将相关参数传递到另一张报表(5.3版本后钻取查看详细操作-钻取章节)。
第2章 钻取的实现方法
2.1 OpenReport公式介绍
使用超链接来实现钻取功能之前我们必须先了解一下OpenReport公式,这个是报表钻取功能的核心公式,下面介绍一下OpenReport的使用方法。
函数说明:打开另一张报表。
函数语法:
OpenReport(reportId,paramName1,paramValue1,paramName2,paramValue2…)
参数说明:
paramName与paramValue是配对出现的,这里可以传多对,也就是说可以把当前报表上的多个值传到指定的报表上.这里的paramName指的是目标报表上所创建的参数名.
名称 | 数据类型 | 说明 | 是否必需 |
---|---|---|---|
reportId | 字符串 | 关联的报表ID | 是 |
paramName | 字符串 | 目标报表的参数名称 | 否 |
paramValue | 不限 | 传递的参数值,可以是字符串、整型、日期等,可以是其它报表公式. | 否 |
返回值:打开到另一张报表。
示例:
打开报表id为12e32-23f4的报表,将参数name赋值为小明:
OpenReport(‘12e32-23f4’,’name’, ‘小明’)
2.2 普通报表在单元格上实现钻取功能
制作一张滞销商品分析列表,在点击商品名的时候跳转到商品明细表,显示当前选中商品的详细信息。
选择一个单元格:
设置单元格属性—超链接,输入OpenReport公式及相关参数。
2.3 图表钻取功能
图表超链接有两种是实现方式,一种是通过UniEAP Report内置的chartOpenReport公式完成的;另一种是输入JS函数体的方式实现。通常情况下,都使用报表内置的chartOpenReport公式完成。
chartOpenReport公式有2n+1个参数,n=0,1,2,…,具体参数如下描述:
reportId:当前报表id
name:报表参数
value:对应的参数值
与openreport公式类似,name、value是成对出现的,支持传递多组参数。当图表超链接所需要传递的参数值来源于图表本身时,同样需要用到另一个报表公式chartParam,该公式的具体描述见<
输入JS函数体实现超链接:
在公共属性设置页面的超链接里输入JS函数体,
var url="/report/Report-Guage.do?reportId=59620499-543e-49e3-9c4f-5d538de901ff&encode=true&typename="+encodeto64(e.name+"")+"";openReportNav(url);
如下所示:
同样可以实现钻取功能。
2.4 报钻取报表增加返回按钮
通过钻取功能可以从当前报表跳转到另一张报表,当需要返回上一个报表时,可以通过在报表中为单元格增加JS事件来实现返回。
以下面这张报表为例,实现步骤为:
1)选中标题所在单元格,输入左键事件:callJS('goback'),如图8所示
2)在报表栏中,写入Js函数体,如图9所示,js代码如下:
function goback(){window.history.go(-2);}
【注意】参数取-2,是因为在报表展示前,会显示进度条,存在二次跳转。