如何使用FineReport报表软件超链接引用Java Script?

如何使用FineReport报表软件超链接引用Java Script?,第1张

用户在使用FineReport报表软件,实现用户需亮销要在点击超级链接的时候,判断一个条件,来决定链接到指定的页面有两种引用方式:

下面来介绍其中的另一种方式:

1、 直接在超级链接界面上写js方法

1.1 新建报表

1.2 样式设计

在B3单元格中写入公式:=range(1,40),并将其扩张属桥键没性改为“从左到右扩展”,并将其设为居中

1.3 添加超链接

 右击B3单元格,选择超级链接,进入超级链接界面,点击添加JavaScript

 在function fun(){}函数中写入如下Js语句:

function test(){

varnum = parseInt(arguments[0])

_g('${sessionID}').gotoPage(num)}

var value = FR.Msg.prompt("输入", "页码", 2,test)

其中,num是自定义的变量,该变量用来获得输入框中输入的页数;_g('${sessionID}').gotoPage(num)用来跳转到相应的页,var value = FR.Msg.prompt("输入", "页码", 2,test)是在点击超链接后d出一个输入页码的对话框

保存预览

点击超级链接

在输入对话框中输入需要跳转的页数,并点击确定按钮,就跳转到相应的页面:如默认输入2 ,出敏纳现页面

1.

打开Excel表格,选中需要超链接的单元格。

2.

右击鼠标,选中“超链接”功能。

3.

在d出的对话框中,将”连接到的位置“设置为”本文档中的位置“,以”1月“为乎春岁例,岁睁选中1月sheet表,并点击”确定”即可。

4.

设置完成后,1月所在单元格中的文字也就会变为蓝色下划线字体,可直接点击该单元格,即可跳转到指定森纯的表格中。

这个问题的话可以使用cjkEncode对中文进行编码转换

加载finereport.js使用cjkEncode

cjkEncode方法在FineReport的JS库中已经预先提供了,用户可以在自己的网页中引入FineReport的JS库,就可以使用FR.cjkEncode对中日韩文字符进行编码,如下对调用报表的url进行cjkEncode:

<html>  

  <head>  

  <title>FineReport Demo</title>  

  <meta http-equiv="Content-Type" content="text/html charset=GBK" />  

  <script type="text/javascript" src="/WebReport/ReportServer?op=emb&resource=finereport.js"></script>

  <script language="javascript">

    function autoLoad(){

      var addr = FR.cjkEncode("/WebReport/ReportServer?reportlet=/doc/Primary/Parameter/Parameter.cpt&地区=华东")

      document.getElementById("reportFrame").src = addr

    }

    window.onload = autoLoad 

  </script>

  </head>  

  <body>  

    <iframe id="reportFrame" width="900" height="400" ></iframe>  

  </body>

</html>

直接调用cjkEncode

加载finereport.js再引用cjkEncode,一方面可能会引起js冲突,察闷另一方面也加载了很多不必要的方法。

若用户只需要使用该方法,可以将cjkEncode实现的代码复制到网页中或者用户自己的js文件中,然后再引用cjkEncode。

<html>

  <head>  

  <title>FineReport Demo</title>  

  <meta http-equiv="Content-Type" content="text/html charset=GBK" />  

  <script type="text/javascript">

    //cjkEncode方法的实现代码,放在网页head中或者用户自己的js文件中

    function cjkEncode(text) {                                                                          

      if (text == null) {       

        return ""      铅信 

      }       

      var newText = ""       

      for (var i = 0 i < text.length i++) {       

        var code = text.charCodeAt (i)        

        if (code >= 128 || code == 91 || code == 93) {  //91 is "[", 93 is "]".       

          newText += "[" + code.toString(16) + "]"       

        } else {       

          newText += text.charAt(i)       

        }       

      }       

      return newText       

    }   

    function autoLoad() {

      var addr = cjkEncode("/WebReport/ReportServer?reportlet=/doc/Primary/Parameter/Parameter.cpt&地区=华东")

      document.getElementById("reportFrame").src = addr

    }

    window.onload = autoLoad           槐没轮//加载网页时调用autoLoad方法

  </script>

  </head>  

  <body>  

    <iframe id="reportFrame" width="900" height="400" ></iframe>  

  </body>  

</html>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11992774.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存