移动端报表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个參数,单元格。空和值,仅仅有填报下有,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开发演示样例的更多相关文章
- 移动端报表JS开发示例--获取定位
上次分享了移动端报表JS开发的系统概念,后来我又回去摸索了一些案例.之前接触到的FineReport的APP客户端可以用来打卡签到,就好奇研究了以下,这次就来聊一聊报表移动端开发如何实现定位功能. 1 ...
- Androidclient与服务端交互之登陆演示样例
今天了解了一下androidclient与服务端是如何交互的,发现事实上跟web有点类似吧,然后网上找了大神的登陆演示样例.是基于IntentService的 1.后台使用简单的servlet,支持G ...
- 移动端报表JS开发示例
最近对移动端的报表开发颇有研究,细磨精算了好久,虽然到现在还是“囊中羞涩”,但决定还是先抛砖引玉,拿点小干货出来和大家分享. 研究的工具是比较有代表性的FineReport. 1. 移动端哪些地方支 ...
- Android 编程之第三方开发 MaoZhuaWeiBo微博开发演示样例-1
在大学期间我做过非常多类似这种APP.这个是我们小组之前做的,我后期增加非常多新元素.完好了这个应用,由于为了加强 专业技术嘛.也是常常熬夜写些小东西,嘿嘿.只是还算不错.起码技术长进了不少嘛,还是非 ...
- Java连接redis的使用演示样例
Java连接redis的使用演示样例 Redis是开源的key-value存储工具,redis通经常使用来存储结构化的数据,由于redis的key能够包括String.hash.listset和sor ...
- SNF快速开发平台MVC-各种级联绑定方式,演示样例程序(包含表单和表格控件)
做了这么多项目,经常会使用到级联.联动的情况. 如:省.市.县.区.一级分类.二级分类.三级分类.仓库.货位. 方式:有表单需要做级联的,还是表格行上需要做级联操作的. 实现:实现方法也有很多种方式. ...
- AppCan移动应用开发平台新增9个超有用插件(内含演示样例代码)
使用AppCan平台进行移动开发.你所须要具备的是Html5+CSS +JS前端语言基础.此外.Hybrid混合模式应用还需结合原生语言对功能模块进行封装,对于没有原生基础的开发人员,怎样实现App里 ...
- 构造Scala开发环境并创建ApiDemos演示样例项目
从2011年開始写Android ApiDemos 以来.Android的版本号也更新了非常多,眼下的版本号已经是4.04. ApiDemos中的样例也添加了不少,有必要更新Android ApiDe ...
- 让你提前认识软件开发(19):C语言中的协议及单元測试演示样例
第1部分 又一次认识C语言 C语言中的协议及单元測试演示样例 [文章摘要] 在实际的软件开发项目中.常常要实现多个模块之间的通信.这就须要大家约定好相互之间的通信协议,各自依照协议来收发和解析消息. ...
随机推荐
- chrome 插件 导出与导入,以apizza SQ为例
一.chrome 插件的导出 1.打开 chrome://extensions/ 2.打开开发者模式 3.复制插件的ID 4.搜索 通常是在:C:\Users\Lee\AppData\Local\Go ...
- C#-string.Format对C#字符串格式化
1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0 ...
- vue-client脚手架使用
1.必须安装node环境 2.安装vue-client脚手架,在命令提示符中运行npm install -g vue-cli 3.创建项目 vue init 模板名 项目名 例如:vue init w ...
- 有关 Windows 10 中“适用于 Linux 的 Windows 子系统(Beta)”
1.如何启用?(未来应该可从应用商店中直接安装) 在"控制面板"的"启用或关闭 Windows 功能"中进行勾选安装.(安装完成后需要重新启动) 2.然后呢? ...
- 实现一个 Virtual DOM 算法
1 前言 本文会在教你怎么用 300~400 行代码实现一个基本的 Virtual DOM 算法,并且尝试尽量把 Virtual DOM 的算法思路阐述清楚.希望在阅读本文后,能让你深入理解 Virt ...
- dom4j: 生成XML时文本中回车换行无效
属性文本中回车换行在输出时被dom4j自动去掉了. 解决办法: 将format.setTrimText(false); 即可.因为 createPrettyPrint()方法中有 format.set ...
- RDD PAPER
https://cs.stanford.edu/~matei/ https://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-12.pdf h ...
- tensorflow笔记3:CRF函数:tf.contrib.crf.crf_log_likelihood()
在分析训练代码的时候,遇到了,tf.contrib.crf.crf_log_likelihood,这个函数,于是想简单理解下: 函数的目的:使用crf 来计算损失,里面用到的优化方法是:最大似然估计 ...
- Web服务器缓存
前面提到的一些缓存技术都是有我们的动态才程序控制的,现在的web服务器功能越来越强大,常用的web服务器软件也都内置了缓存功能,下面我们就简单的说下服务器端缓存的应用. 首先,我们先来介绍一下URL映 ...
- 使用spin.js优化等待ajax返回时的页面效果
[本文出自天外归云的博客园] 最近在做一个JIRA信息统计的系统,在统计JIRA关联信息的过程中由于需要等待ajax返回结果到前端,时间较长,所以要添加一段等待时的loading画面,使用spin.j ...