OUT 了??还没玩转报表超链接

本文详细介绍如何在润乾报表中利用超链接实现数据钻取功能,包括在统计图和单元格中设置超链接的方法,使报表内容更加丰富和交互性强。

还不知道报表可以实现超链接?还玩不转超链接?加入润乾战队,润乾带你开黑,揭开报表超链接的面纱,好好看清它的真面目。

其实报表实现超链接已经很久了,只需要你停下脚步看看它,你就会发现超链接的美,一向不搞事情只搞技术的润乾早就实现了在报表中加入链接功能,无论是普通报表还是附有统计图的报表都可以很轻松的通过在报表中加入超链接实现钻取功能,拥有一份展现清晰并且内容完善,不会让老板因为内容混乱而捉急抓狂的报表不会只是梦想。

噔噔噔【敲黑板】同学们注意了,润乾报表要放大招了….

下图在统计图 - 柱状图中加入了图形超链接,实现了在点击柱状图中的柱子图形时,就会在本页面动态展现出所点击柱子代表的地区销售表和地区订单金额图

下图在统计图 - 柱状图中加入了图例超链接,实现了在点击右侧的图例时,就会在本页面动态展现出所点击图例代表的地区销售表和地区订单金额图

不要停,继续往下点还有彩蛋哦,下图在单元格中加入了超链接实现了在点击李芳 - 地区销售中的某个地区时,就会跳转到李芳在相应地区的订单明细页面:

现在我跟大家普及一下润乾报表是怎么实现这一切的,报表是自动扩展出来的,而不是一个静态的表格,所以不能也不需要在扩展出来的每个格子设置超链,只需在一个单元格设置超链接属性,那么该属性就会跟着扩展格复制到每个地区格子里,那我们点击每个地区,其实是把对应的地区,销售姓名这些信息传过明细报表了,从而实现了钻取明细,当然统计图原理也是一样的。

好哒,现在拿稳你有幸买来的润乾报表,不要被因为报表都做不好,马上要被炒鱿鱼得皮皮虾抢走。我要开始手把手教学了:

【1】制作报表,你懂的就不再详述。

【2】在统计图中加入超链接:

在合适的单元格【右击】—【统计图】—【显示外观】

在“图例超链接“中输入链接

=”{APPMAP}/reportJsp/showReport.jsp?rpx=”+urlencode (“特色报表 / 统计图钻取.rpx”,”UTF-8″)+”&”+urlencode (“姓名”,”UTF-8″)+”=”+urlencode(“@legend”,”UTF-8″)

在“图形超链接“中输入链接

=”{APPMAP}/reportJsp/showReport.jsp?rpx=”+urlencode(“特色报表 / 统计图钻取.rpx”,”UTF-8″)+”&”+urlencode(“姓名”,”UTF-8″)+”=”+urlencode(“@category”,”UTF-8″)

是不是看完这长长的路径有点儿懵了呢,没毛病,这就是一个以“=”开始的传递中文参数的图形 / 图例超链接。其中:

(1){APPMAP} 指代 web 应用的相对路径,在超链接中引用 {APPMAP},报表引擎运算时会将其替换成 web 应用的相对路径。

(2)reportJsp/showReport.jsp?rpx= 相对路径 \xx.rpx 表示要链接到 xx 页面。此页面的路径应该相对【报表安装目录】\raqsoft\report5\web\webapps\demo\WEB-INF\reportFiles 的相对路径。

(3)Urlencode 函数进行转码。

(4)@category 指代当前图例的分类值。在超链接中引用 @category,报表引擎运算时会将其替换成当前图例的分类值。@legend:指代当前图例的显示值。在超链接中引用 @legend, 报表引擎运算时会将其替换成当前图例的显示值。

   【3】 在单元格中加入超链接:

只需在你想要产生链接的单元格的超链接属性【值】或者【表达式】中写入链接,因为我们示例中的链接是动态的所以需要在【表达式】中写入链接:

“reportJsp/showReport.jsp?rpx=”+ urlencode(“特色报表 / 明细.rpx”,”UTF-8″) + “&name=”+@姓名 +”®ion=”+value()

其中:

(1)®ion 表示参数 - 地区,&name 表示参数 - 姓名如果超级链接中要传递多个参数时,各个参数中间用 & 符号分隔。明细.rpx 表示链接目标页面用于显示地区的订单明细,这个表中需要加入你从点击链接页面传入的地区和姓名这两个参数。

(2) 使用相对【报表安装目录】\raqsoft\report5\web\webapps\demo\WEB-INF\reportFiles 的相对路径。

收下这节课之后,是不是不需要外卖小哥自己轻而易举就可以搞定报表中的超链接了,哪里需要要链那里,So Easy,老板再也不用担心你的报表了。拿着这份因为加入超链接而变得完美无暇的报表去找老板显摆吧,哥以后再也不用吃土了。



作者:qxyzyh
链接:http://c.raqsoft.com.cn/article/1533197340238?r=IBelieve
来源:乾学院
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

### 在帆软报表中动态生成带参数的超链接方法 在帆软报表中,动态生成带参数的超链接可以通过多种方式实现。以下内容详细说明了具体实现方法。 #### 1. 使用FR.cjkEncode处理中文参数 当需要传递中文参数时,可以使用`FR.cjkEncode`函数对中文字符进行编码,以避免乱码问题。例如: ```javascript window.location="http://localhost:8075/WebReport/ReportServer?reportlet=doc/Parameter/DynamicCol/DynamicCol.cpt&col="+FR.cjkEncode("中文名称")[^1]; ``` 此代码片段展示了如何通过`FR.cjkEncode`对中文参数进行编码,并将其拼接到URL中。 #### 2. 动态生成超链接 在单元格属性中设置超链接时,可以利用帆软报表的公式功能动态生成链接地址。例如: ```javascript ="http://example.com/report?name=" + [A1] + "&date=" + [B1] ``` 上述公式会根据单元格`A1`和`B1`的值动态生成一个带参数的超链接[^2]。 #### 3. 使用JavaScript实现复杂逻辑 对于更复杂的场景,可以使用JavaScript脚本动态生成超链接。例如,以下代码展示了一个通过POST方式传递参数并打开新窗口的示例: ```javascript function post(URL, PARAMS, target) { var temp_form = document.createElement("form"); temp_form.action = URL; temp_form.target = target; temp_form.method = "post"; temp_form.style.display = "none"; for (var x in PARAMS) { var opt = document.createElement("textarea"); opt.name = x; opt.value = PARAMS[x]; temp_form.appendChild(opt); } document.body.appendChild(temp_form); temp_form.submit(); } // 调用示例 post(encodeURI("http://example.com/upload"), { token: encodeURI("测试数据") }, "_blank"); ``` 此代码片段展示了如何通过JavaScript动态生成表单并提交参数,从而实现复杂的超链接功能[^3]。 #### 4. 注意事项 - **编码问题**:确保所有中文参数都经过编码处理,避免出现乱码。 - **安全性**:在实际应用中,应验证和过滤用户输入的参数,防止潜在的安全风险。 - **兼容性**:确保目标网页能够正确解析传递的参数。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值