历史版本9 :全局接口-FR 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

每一张报表都有一个 FR 对象,可以结合以下属性和方法使用:

目录:

servletURL编辑

属性servletURL获取 servletURL
     参数--
   返回值string

获取 servletURL,返回值为字符串,格式如:

/webroot/decision/view/report
     示例
FR.servletURL;
  应用示例-
   移动端支持移动端

serverURL编辑

属性serverURL获取 serverURL
     参数--
   返回值string

获取 serverURL,返回值为字符串,格式如:

http://localhost:8075
     示例
FR.serverURL;
  应用示例-
   移动端不支持移动端

server编辑

属性server获取 server
     参数--
   返回值string

获取 server,返回值为字符串,格式如:

http://localhost:8075/webroot
     示例
FR.server;
  应用示例-
   移动端不支持移动端

fineServletURL编辑

属性fineServletURL获取 fineServletURL
     参数--
   返回值string

获取 fineServletURL,返回值为字符串,格式如:

/webroot/decision
     示例
FR.fineServletURL;
  应用示例-
   移动端不支持移动端

SessionMgr.getSessionID编辑

方法SessionMgr.getSessionID()获取 sessionId
     参数--
   返回值string

获取 sessionId,返回值为字符串,如:

62a0f071-c2c6-4623-91c3-3d58c6265c19
     示例
FR.SessionMgr.getSessionID();
  应用示例

点击按钮,打印报表的 sessionId

2021-09-13_16-42-02.gif

   移动端不支持移动端

showDialog编辑

方法showDialog(title, width, height, innerContent)打开一个对话框
     参数

title:string

width:number

height:number

innerContent:iframe

title:对话框标题,字符串

width:对话框宽度

height:对话框高度

innerContent:对话框内容,iframe 标签,如果要打开工程下的报表,需先将报表定义为 iframe 标签

   返回值void
     示例

打开一个标题为“弹窗”,宽 600、高 400 内容为 “Hello World”的对话框:

FR.showDialog("弹窗",600,400,"Hello World");

打开一个标题为“销量弹窗”,宽 700,高 500 ,弹窗内容为内置模板 GettingStarted.cpt 的对话框

注:设计器中添加如下较长代码时,注意换行导致的代码格式问题,修改格式即可。

// 创建对话框内的 iframe,iframe参数的命名及宽高等
var iframe = $("<iframe id='inp' name='inp' width='100%'
height='100%' scrolling='no' frameborder='0'>");
// 给 iframe 添加 src 属性,指向需要展示的模板地址
iframe.attr("src", "/webroot/decision/view/report?viewlet=GettingStarted.cpt");
//弹出对话框
FR.showDialog("对话框",700,500, iframe);
  应用示例

点击按钮,打开一个标题为“销量弹窗”,宽 700,高 500 ,弹窗内容为内置模板 GettingStarted.cpt 的对话框

2021-09-18_15-01-55.gif

   移动端不支持移动端

closeDialog编辑

方法closeDialog()关闭对话窗
     参数--
   返回值void
     示例
FR.closeDialog();
  应用示例

弹窗选择数据后,自动关闭已经打开的对话框

1576133004442303.gif

   移动端不支持移动端

doHyperlinkByGet编辑

方法doHyperlinkByGet(url,config,target,feature)Get 方法打开一个网页页面,可以传递参数,可以设置页面属性
     参数

URL :object

config :object

target :object

feature :object

URL:URL 或 Json 超链定义,必填

支持的绝对路径如:http://192.168.100.1:8080/WebReport/ReportServer?reportlet=WorkBook2.cpt

相对路径如:/WebReport/ReportServer?reportlet=WorkBook2.cpt 或

ReportServer?reportlet=WorkBook2.cpt 

Object:传递的参数,可以不写

target:超链子页的打开位置,可以不写

feature:超链打开位置的属性,可以不写

   返回值void
     示例

打开内置模板 GettingStarted.cpt,一个为“销售报表”,传递参数“华东”和是否显示参数面板,打开方式为对话框,对话框宽 700、高 500:

FR.doHyperlinkByGet({
//报表路径
"url":"/webroot/decision/view/report?viewlet=GettingStarted.cpt",
//参数
"para":{
"地区":"华东"
},
"target":"_dialog",    //对话框方式打开
"feature":{
"width":700,
"height":500,
"title":"销售报表"
}
})
  应用示例

点击按钮,打开标题为“销售报表”,内容为华东地区销量情况,宽 700、高 500对话框:

2021-09-18_16-11-11.gif

   移动端支持移动端

doHyperlinkByPost编辑

方法doHyperlinkByPost(url,config,target,feature)Post 方法打开一个网页页面,可以传递参数,可以设置页面属性
     参数

URL :object

config :object

target :object

feature :object

URL:URL 或 Json 超链定义,必填

支持的绝对路径如:http://192.168.100.1:8080/WebReport/ReportServer?reportlet=WorkBook2.cpt

相对路径如:/WebReport/ReportServer?reportlet=WorkBook2.cpt 或

ReportServer?reportlet=WorkBook2.cpt 

Object:传递的参数,可以不写

target:超链子页的打开位置,可以不写

feature:超链打开位置的属性,可以不写

   返回值void
     示例

打开内置模板 GettingStarted.cpt,一个为“销售报表”,传递参数“华东”和是否显示参数面板,打开方式为对话框,对话框宽 700、高 500:

FR.doHyperlinkByPost({
//报表路径
"url":"/webroot/decision/view/report?viewlet=GettingStarted.cpt",
//参数
"para":{
"地区":"华东"
},
"target":"_dialog",    //对话框方式打开
"feature":{
"width":700,
"height":500,
"title":"销售报表"
}
})
  应用示例

点击按钮,打开标题为“销售报表”,内容为华东地区销量情况,宽 700、高 500对话框:

2021-09-18_16-11-11.gif

   移动端支持移动端

doURLPrint编辑

方法doURLPrint(config)调出打印工具,打印报表
     参数config:objectconfig :打印参数,参数格式见 doURLPrint
   返回值Void
     示例

见:doURLPrint

  应用示例

自定义打印按钮,以「零客户端」方式打印报表

2021-09-28_14-59-47.gif

   移动端不支持移动端
方法MsgFR 内置的统一风格的消息框,可以替代 Window 中的 alert、confirm 以及 prompt,
     参数-

需调用其方法使用,详细内容可见 :Msg

   返回值Void
     示例

见:Msg

  应用示例给「文本控件」增加「编辑结束」事件,当填入的工号长度不是 6 时,弹窗提示:工号必须为 6 位:

2021-09-22_10-04-51.gif

   移动端支持移动端

remoteEvaluate编辑

方法remoteEvaluate(formula)

执行 FR 内置公式,返回公式计算结果。

注1:remoteEvaluate(String) 不支持 tablename.select 函数。

注2:网页中不支持调用 remoteEvaluate(String) 。

     参数formula:String

公式,需要写成字符串形式

   返回值object
     示例

调用 FR 中 sum 函数对 A1、A2 求和:

FR.remoteEvaluate("sum(A1,A2)");

调用 FR 中字符串拼接函数 CONCATENATE 拼接字符串

FR.remoteEvaluate('CONCATENATE("001","1201110")');
  应用示例-
   移动端支持移动端

jsonEncode编辑

方法jsonEncode(String)

对字符串进行 jsonEncode 编码

     参数-

-

   返回值String
     示例

对报表路径进行  jsonEncode 编码

FR.jsonEncode("/webroot/decision/view/report?viewlet=GettingStarted.cpt");
  应用示例-
   移动端不支持移动端

jsonDecode编辑

方法jsonDecode(jsonEncode String)

对字符串进行 jsonEncode 解码

     参数-

-

   返回值String
     示例

对转码过的报表路径进行  jsonEncode 解码:

FR.jsonDecode(FR.jsonEncode(
"/webroot/decision/view/report?viewlet=GettingStarted.cpt");
  应用示例-
   移动端不支持移动端

ajax编辑

方法ajax(options)

封装过的 jQuery.ajax() 函数,对 data 参数做了中日韩文编码处理,可以通过 FR.ajax(options) 在任何可以用 JS 的地方进行调用

     参数options

Ajax 参数,JSON 格式,说明见:ajax

   返回值void
     示例

见:ajax

  应用示例-
   移动端支持移动端

isEmpty编辑

方法isEmpty(object)

判断对象是否为空

     参数object

对象

   返回值Boolean

是否为空,布尔型

  • true :是

  • false:否

     示例

查看是否存在「文本框控件」text0:

var a = FR.isEmpty(g().getParameterContainer().getWidgetByName("text0"));
alert(a);
  应用示例-
   移动端不支持移动端

isArray编辑

方法isArray(object)

判断对象是否为数组

     参数object

对象

   返回值Boolean

是否为空,布尔型

  • true :是

  • false:否

     示例

定义一个数组,查看其是否为数组:

var txt = new Array("I","love","FR");
FR.isArray(txt);
  应用示例-
   移动端不支持移动端