奥威软件交流社区
应用报表工具Finereport的开发人员会发现其移动端app 同样也推出了很多js接口,那这些接口到底有多少,其移动端又有哪些地方支持调用js,这些接口具体又该如何调用呢。根据我平时的开发经验,给大家做个归纳整理,包括接口列表,相关的脚本函数及具体的演示实例,希望大家可以更有效地利用这些js接口来便利相关工作。
1. FineReport移动端哪些地方支持调用js
web事件
分页预览
填报预览
加载结束事件
X
填报成功事件
--

报表内部js
单元格
图表
超级链接js

控件事件
参数控件
填报控件
表单控件
初始化后事件
X
X
编辑前
X
编辑后
X
编辑结束
X
点击
X
状态改变
2. 控件支持的脚本函数
函数名
函数描述
填报控件
参数控件
表单控件
setEnable
设置控件的可用性
isEnable
判断控件是否可用
setVisible
设置控件的可见性
isVisible
判断控件的可见性
setValue
设置控件值
getValue
获取控件的值
setText
设置控件的显示值
getText
获取控件的显示值
reset
重置控件
fireEvent
触发指定名字的事件
3. 分页预览报表支持的脚本函数
函数名
函数描述
补充说明
实现
contentPane
当前报表对象
currentPageIndex
当前所在页
contentPane常用属性 只有分页预览报表才有
reportTotalPage
总页数
contentPane常用属性 只有分页预览报表才有
gotoFirstPage
首页
gotoPreviousPage
上一页
gotoNextPage
下一页
gotoLastPage
末页
gotoPage(n)
跳转到某一页
包含1个参数,表示跳转到第几页
4. 填报预览报表支持的脚本函数
函数名
函数描述
补充说明
实现
contentPane
当前报表对象
verifyReport
数据校验
只有填报表才可以用,contentPane常用方法
writeReport
提交报表
只有填报表才可以用,contentPane常用方法
verifyAndWriteReport
数据校验后提交报表
只有填报表才可以用,contentPane常用方法
curLGP
current logicpane
contentPane常用属性,只有填报预览及表单预览下才有
getCellValue(cell)
获取指定格子的值
包含1个参数,单元格,只有填报下有,curLGP常用方法
getCellValue(col, row)
获取指定格子的值
包含2个参数,列和行,只有填报下有,curLGP常用方法
setCellValue(cell, null, value)
设置指定格子的值
包含3个参数,单元格,空和值,只有填报下有,curLGP常用方法
setCellValue(col, row, value)
设置指定格子的值
包含3个参数,列,行和值,只有填报下有,curLGP常用方法
getWidgetByCell
获取指定单元格中的控件
包含1个参数,单元格,contentPane常用方法
getWidgetByName
获取指定名字的控件
包含1个参数,控件名,contentPane常用方法
getWidgetsByName
获取指定名称的扩展控件,返回一个数组
包含1个参数,控件名,contentPane常用方法
5. 常用的工具类脚本函数
函数名
函数描述
补充说明
实现
FR.Msg.alert
弹出消息框函数
包含3个参数,分别表示:标题,内容,回调函数
FR.Msg.confirm
值确认弹出框函数
包含3个参数,分别表示:标题,值,回调函数
FR.Msg.prompt
可修改值的值确认弹出框函数
包含4个参数,分别表示:标题,说明,值,回调函数
FR.Msg.toast
在页面边缘出现的消息提示块,一小段时间后自动消失
包含1个参数,表示要提示的信息
FR.cjkEncode
进行cjk编码
包含1个参数,字符串
FR.cjkDecode
进行cjk解码
包含1个参数,字符串
FR.location
地理位置获取
包含一个回掉函数返回获取状态及信息
FR.doHyperlinkByGet /FR.doHyperlinkByPost
超级连接
包含2个参数,分别表示:超链的url, 传递的参数
FR.ajax
异步请求函数
/
_g().parameterCommit()
分页预览及填报预览自动查询
/
contentPane.setAppearRefresh()
页面再现的时候自动刷新
/
6. 具体使用示例6.1获取控件的一系列方法
1. this.options.form.getWidgetByName("控件名");  //参数界面及表单中获取控件  
1. contentPane.getWidgetByCell("单元格");  //填报界面获取控件  
1. contentPane.getWidgetByName("控件名");   //填报界面获取控件  
6.2填报成功后刷新当前页
1. var url = "/WebReport/ReportServer?reportlet=js/shauxindangqian.cpt&op=write&__replaceview__=true";  
2. FR.doHyperlinkByGet(url,{para:paravalue});  //刷新当前页面  
6.3 js获取表单图表组件并刷新数据
1. var c=FR.Chart.WebUtils.getChart("chart0");  
2. c.dataRefresh();  
6.4延时函数
1. setTimeout(function() {  }, 500);  
6.5 A超链至B填报,B提交数据后返回A时,A自动刷新显示新的数据
1. contentPane.setAppearRefresh();  //在A的加载结束后事件中添加js  


分享到 :
0 人收藏

1 个回复

正序浏览
lx2berrys  会员 | 2017-3-7 15:21:37
这些用来自已编程实现报表?为了一张报表,记一大堆接口?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

奥威软件|联系奥威|新手须知| ( 粤ICP备09215901号-2   

Powered by Discuz! X3.2 © 2001-2016 Comsenz Inc.

返回顶部