FR

编辑
  • 文档创建者:印然
  • 浏览次数:27786次
  • 编辑次数:27次
  • 最近更新:Kevin-s 于 2019-06-21
  • 1. 描述

    大家知道,预览报表时,报表 servlet 会将 cpt 模板转为 HTML ,在这个 HTML 的 head 头部中会引入 FR 的 JavaScript,如下:

    <script type="text/javascript" src="/webroot/decision/view/report?op=emb&resource=finereport.js"></script>

    这个 finereport.js 中包含了许多内置的 function 以及一些公有的属性,不管在模板中还是其他网页中,只要引入了 finereport.js ,就能够通过 FR.xxx 的形式调用公有的属性与方法。

    所有的地方包括 web 事件、控件事件、超链 JavaScript、决策报表事件中都可以获取到 FR 对象。

    2. 使用实例

    2.1 在模板中使用

    如上所述,访问模板时会自动引入 finereport.js,因此在模板的 JavaScript 脚本中可以直接使用 FR.xxx 来调用方法:

    2.1.1 添加事件

    此处以显示对话框为例,先添加一个「初始化后」事件,编辑 JavaScript 脚本,如下图所示:

    image.png

    代码如下:

    FR.showDialog("CES",600,400,"CESSSS")

    2.1.2 效果展示

    点击保存并分页预览,预览页面点击测试会出现一个对话框,如下图所示:

    image.png


    2.2 在网页中使用

    如果需要在自己的网页如某个 JSP 页面中调用 FR 的方法,需要先引入 finereport.js ,再通过 FR.xxx 来调用:

    2.2.1 插入代码

    以在网页自定义导出按钮为例,新建一个 HTML 文件插入代码如下所示代码:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
     <head>
      <title>FineReport Demo</title>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      <script type="text/javascript" src="/webroot/decision/view/report?op=emb&resource=finereport.js"></script>
      <link rel="stylesheet" type="text/css" href="/webroot/decision/view/report?op=emb&amp;resource=finereport.css&amp;cssVersion=1557882553214">
      <script>
    function button_onclick(){
    FR.showDialog("CES", 600, 400, "CESSSS")
    }
    </script>
    <input type="button" value="测试" onclick="javascript:button_onclick();" />
     </head>
     <body>
    </body>  
    </html>

    注:此处需要调用 CSS 弹框样式,不然不显示弹框,如下图所示:2.png

    2.2.2 效果展示

    保存到%FR_HOME%\webapps\webroot路径下,并打开保存到 HTML 文件,效果如下图所示:

    1.png

    3. 常用方法列表

    方法参数返回值说明
    Ajax
    voidAjax 请求
    closeDialog()
    void关闭对话框
    doHyperlinkByGet(url,config,target,feature)URL 必填,URL 或 JSON超链定义;
    config 选填,传递的参数;
    target 选填,超链子页的打开位置;
    feature 选填,超链打开位置的属性
    void超级链接,get 传递 config 参数到 target 中,并在 feature 里面设置窗口属性
    doHyperlinkByPost(url,config,target,feature)

    URL 必填,URL 或 JSON超链定义;

    config 选填,传递的参数;
    target 选填,超链子页的打开位置;
    feature 选填,超链打开位置的属性
    void

    超级链接,post 传递 config 参数,并将结果显示在 target 中,并在 feature 里面设置窗口属性

    doURLPrint(printurl,isPopUp,config)
    void打印
    $.isArray(object)
    Boolean是否为数组,是返回 true,否返回 false
    isEmpty(object)
    Boolean是否为空,是返回 true,否返回 false
    jsonDecode(jsonEncode String)
    String对 jsonEncode 过的字符串进行反编码
    jsonEncode(String)
    String对字符串进行 jsonEncode 编码
    showDialog(title, width, height, innerContent)
    void显示一个对话框
    remoteEvaluate(String)必填,具体公式object执行 FR 内置公式,返回公式计算的结果。例如:var a = FR.remoteEvaluate("sum(A1,A2)")表示执行 sum(A1,A2)

    4. 示例

    附件列表


    主题: 二次开发
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]