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

研究的工具是比較有代表性的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个參数,单元格。空和值,仅仅有填报下有,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。

移动端报表JS开发演示样例的更多相关文章

  1. 移动端报表JS开发示例--获取定位

    上次分享了移动端报表JS开发的系统概念,后来我又回去摸索了一些案例.之前接触到的FineReport的APP客户端可以用来打卡签到,就好奇研究了以下,这次就来聊一聊报表移动端开发如何实现定位功能. 1 ...

  2. Androidclient与服务端交互之登陆演示样例

    今天了解了一下androidclient与服务端是如何交互的,发现事实上跟web有点类似吧,然后网上找了大神的登陆演示样例.是基于IntentService的 1.后台使用简单的servlet,支持G ...

  3. 移动端报表JS开发示例

    最近对移动端的报表开发颇有研究,细磨精算了好久,虽然到现在还是“囊中羞涩”,但决定还是先抛砖引玉,拿点小干货出来和大家分享. 研究的工具是比较有代表性的FineReport. 1.  移动端哪些地方支 ...

  4. Android 编程之第三方开发 MaoZhuaWeiBo微博开发演示样例-1

    在大学期间我做过非常多类似这种APP.这个是我们小组之前做的,我后期增加非常多新元素.完好了这个应用,由于为了加强 专业技术嘛.也是常常熬夜写些小东西,嘿嘿.只是还算不错.起码技术长进了不少嘛,还是非 ...

  5. Java连接redis的使用演示样例

    Java连接redis的使用演示样例 Redis是开源的key-value存储工具,redis通经常使用来存储结构化的数据,由于redis的key能够包括String.hash.listset和sor ...

  6. SNF快速开发平台MVC-各种级联绑定方式,演示样例程序(包含表单和表格控件)

    做了这么多项目,经常会使用到级联.联动的情况. 如:省.市.县.区.一级分类.二级分类.三级分类.仓库.货位. 方式:有表单需要做级联的,还是表格行上需要做级联操作的. 实现:实现方法也有很多种方式. ...

  7. AppCan移动应用开发平台新增9个超有用插件(内含演示样例代码)

    使用AppCan平台进行移动开发.你所须要具备的是Html5+CSS +JS前端语言基础.此外.Hybrid混合模式应用还需结合原生语言对功能模块进行封装,对于没有原生基础的开发人员,怎样实现App里 ...

  8. 构造Scala开发环境并创建ApiDemos演示样例项目

    从2011年開始写Android ApiDemos 以来.Android的版本号也更新了非常多,眼下的版本号已经是4.04. ApiDemos中的样例也添加了不少,有必要更新Android ApiDe ...

  9. 让你提前认识软件开发(19):C语言中的协议及单元測试演示样例

    第1部分 又一次认识C语言 C语言中的协议及单元測试演示样例 [文章摘要] 在实际的软件开发项目中.常常要实现多个模块之间的通信.这就须要大家约定好相互之间的通信协议,各自依照协议来收发和解析消息. ...

随机推荐

  1. html input控件总结

    Input表示Form表单中的一种输入对象,其又随Type类型的不同而分文本输入框,密码输入框,单选/复选框,提交/重置按钮等,下面一一介绍. 1,type=text 输入类型是text,这是我们见的 ...

  2. win7重命名文件时 提示 “指定的设备名无效”的解决办法

    同事从mac上传一个文件夹到win7上,但是少了一张图片con.jpg.查了半天发现将备份文件改名为con.jpg时提示 “指定的设备名无效”. 谷歌了下,发现了问题所在.坑爹的win7. 从不同的系 ...

  3. js前台取用后台传递过来的map集合方式

    在处理有些特殊需求的时候,我们需要在前台页面的js中获取后台传递过来的map集合类型的参数,并且进行调用,代码如下: 在后台我们拼装出如下的集合: Map<String,Grade> gr ...

  4. nmap 端口扫描工具

    nmap工具介绍 一.简介 nmap :也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包. nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端.确定哪些服务 ...

  5. kail linux 系统下利用metaspolit工具渗透win7电脑

     注:只是测试,不可干违法的事. 一.metaspolit工具的介绍 1.1.metaspolit 是一款开源安全漏洞检测工具,附带数百个已知的软件漏洞,并保持频繁更新.被安全社区冠以“可以黑掉整个宇 ...

  6. linux杀掉tomcat应用进程。停止tomcat应用

    ps -ef |grep tomcat |grep -v grep |awk '{print $2}' |xrags kill -9

  7. session 详解

    一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...

  8. .net4.5使用async和await异步编程实例

    关于异步编程的简单理解: 在.NET4.5中新增了异步编程的新特性async和await,使得异步编程更为简单.通过特性可以将这项复杂的工作交给编译器来完成了.之前传统的方式来实现异步编程较为复杂,这 ...

  9. android:3D垂直翻转动画-FlipAnimation

    需求 对ImageView进行相似于翻纸牌的动画 解决 各种Animator的组合 第一步动画: 动画代码文件1,card_flip_left_out.xml <? xml version=&q ...

  10. java集群优化——ORM框架查询优化原理

    众所周知,当下的流行的企业级架构中,ORM一直是最基础的部分,在架构设计的底层.对逻辑层提供面向对象的操作支持,而事实总是和我们预想的有所偏差,ORM在提供了较好的操作体验时,也流失了一部分原生SQL ...