应用报表工具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