移动端报表JS开发示例

简介:

最近对移动端的报表开发颇有研究,细磨精算了好久,虽然到现在还是”囊中羞涩”,但决定还是先抛砖引玉,拿点小干货出来和大家分享。

研究的工具是比较有代表性的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常用方法          √

curLGP            current logicpane      contentPane常用属性,只有填报预览及表单预览下才有   √

getCellValue(cell)    获取指定格子的值      包含1个参数,单元格,只有填报下有,curLGP常用方法    √

getCellValue(col, row)  获取指定格子的值      包含2个参数,列和行,只有填报下有,curLGP常用方法   √

setCellValue(cell, null, value) 设置指定格子的值 包含3个参数,单元格,空和值                  √

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           /                                                                                    √

FR.ajax         异步请求函数                                        /                                                                                    √

_g().parameterCommit() 分页预览及填报预览自动查询 /                                                                                   

contentPane.setAppearRefresh() 页面再现的时候自动刷新 /                                                                             √


以上对应着报表的功能大致罗列了以下框架,下面先举一些小示例


获取控件的一系列方法

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

 

填报成功后刷新当前页

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

 

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

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

 

延时函数

1
setTimeout( function () {  }, 500);

 

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

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

 

以后会陆续分享一些移动端实用功能的应用实例,还有HTML5,欢迎一起探讨。



本文转自 雄霸天下啦 51CTO博客,原文链接:http://blog.51cto.com/10549520/1761256,如需转载请自行联系原作者
相关文章
|
4月前
|
前端开发 JavaScript API
js实现promise常用场景使用示例
本文介绍JavaScript中Promise的6种常用场景:异步请求、定时器封装、并行执行、竞速操作、任务队列及与async/await结合使用,通过实用示例展示如何优雅处理异步逻辑,避免回调地狱,提升代码可读性与维护性。
308 10
|
11月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
598 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
Web App开发 JavaScript 前端开发
Node.js开发
Node.js开发
285 13
|
Web App开发 开发框架 JavaScript
深入浅出Node.js后端开发
本文将带你领略Node.js的魅力,从基础概念到实践应用,一步步深入理解并掌握Node.js在后端开发中的运用。我们将通过实例学习如何搭建一个基本的Web服务,探讨Node.js的事件驱动和非阻塞I/O模型,以及如何利用其强大的生态系统进行高效的后端开发。无论你是前端开发者还是后端新手,这篇文章都会为你打开一扇通往全栈开发的大门。
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
本文将带领读者从零基础开始,一步步深入到Node.js后端开发的精髓。我们将通过通俗易懂的语言和实际代码示例,探索Node.js的强大功能及其在现代Web开发中的应用。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的见解和技巧,让你的后端开发技能更上一层楼。
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
移动开发 JavaScript 前端开发
8个最佳的JavaScript移动应用开发框架
随着智能手机和平板电脑的普及,移动应用的开发越来越流行,基于JavaScript的移动开发框架也逐渐成为主流。移动开发与桌面应用的开发相比,有个显著的不同,那就是,移动应用绝大多数是基于触摸屏的应用。
1366 0
|
移动开发 JavaScript 前端开发
8个最佳的JavaScript移动应用开发框架
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/9935445 《8个最佳的JavaScript移动应用开发框架》 作者:chszs,转载需注明。
1144 0