您的位置:首页 > 移动开发

移动端报表JS开发演示样例

2017-08-19 11:34 246 查看
近期对移动端的报表开发颇有研究,细磨精算了好久,尽管到如今还是”囊中羞涩”,但决定还是先抛砖引玉,拿点小干货出来和大家分享。

研究的工具是比較有代表性的FineReport。

1、 移动端哪些地方支持调用js

web事件分页预览填报预览
载入结束事件X
填报成功事件--
报表内部js单元格图表
超级链接js
控件事件參数控件填报控件表单控件
初始化后事件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经常用法
curLGPcurrent logicpanecontentPane经常使用属性。仅仅有填报预览及表单预览下才有
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()页面再现的时候自己主动刷新/
以上相应着报表的功能大致罗列了以下框架。以下先举一些小演示样例

获取控件的一系列方法

this.options.form.getWidgetByName("控件名");  //參数界面及表单中获取控件
contentPane.getWidgetByCell("单元格");  //填报界面获取控件
contentPane.getWidgetByName("控件名");   //填报界面获取控件


填报成功后刷新当前页

var url = "/WebReport/ReportServer?reportlet=js/shauxindangqian.cpt&op=write&__replaceview__=true";
FR.doHyperlinkByGet(url,{para:paravalue});  //刷新当前页面


js获取表单图表组件并刷新数据

var c=FR.Chart.WebUtils.getChart("chart0");
c.dataRefresh();


延时函数

setTimeout(function() {  }, 500);


A超链至B填报,B提交数据后返回A时。A自己主动刷新显示新的数据

contentPane.setAppearRefresh();  //在A的载入结束后事件中加入js


以后会陆续分享一些移动端有用功能的应用实例啦,还有HTML5。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: