最近对移动端的报表开发颇有研究,细磨精算了好久,虽然到现在还是“囊中羞涩”,但决定还是先抛砖引玉,拿点小干货出来和大家分享。
研究的工具是比较有代表性的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开发示例不仅展示了定位功能的实现过程,也提供了一种思路,即如何通过移动端报表工具来实现丰富的交互功能。随着移动互联网技术的不断进步,移动端报表开发的能力和应用场景也在不断扩大,定位功能只是...
本文针对FineReport在移动端的JavaScript(JS)二次开发给出了一些示例和说明。以下详细知识点涵盖了移动端报表开发中如何利用FineReport的JS功能进行开发。 首先,了解移动端报表的概念及其发展趋势是非常重要的。...
根据提供的文件信息,我们整理出以下关于报表开发工具FineReport移动端app js接口列表的详细知识点: ### FineReport移动端JS接口概览 #### FineReport移动端支持调用JS的位置 - web事件:包括分页、预览、填报...
8. **Ajax**:异步JavaScript和XML技术,用于在不刷新整个页面的情况下获取和更新数据,这对于交互式的报表页面来说是必不可少的。 9. **数据可视化原则**:有效的数据可视化不仅仅是技术实现,还需要遵循色彩、...
ECharts是一款由百度开发的,免费且开源的JavaScript图表库,它提供了丰富的图表类型,如折线图、柱状图、饼图、散点图等,支持在Web浏览器环境中进行数据可视化的交互操作。ECharts的特性包括高性能、易于使用、...
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,适用于构建高性能的网络应用,尤其在I/O密集型的应用中表现出色,如实时通信和大数据处理。在项目中,Node.js可能用于后端服务器开发,利用其非阻塞I/O和事件...
如果是自定义展示,需要通过Ajax请求获取报表数据,然后使用JavaScript库(如jQuery、Vue.js等)渲染报表。 6. **权限控制**:为了确保安全,你还需要考虑如何在Spring Boot应用中实现Finereport的权限控制。可以...
Vue-cli是一个基于Vue.js进行快速开发的完整系统,提供了项目脚手架搭建、热重载、代码分割等功能,极大提升了前端开发效率。V-charts则是饿了么前端团队开发的基于Vue.js的图表组件库,利用Vue和Echarts封装了多种...
用户可以通过这些链接获取到示例代码、库文件或者其他必要的开发资料。 9. **性能优化**:对于大数据量的报表,加载速度和性能优化至关重要。合理的数据采样、延迟渲染和分页策略可以显著提升用户体验。 10. **API...
8. **前后端分离**:采用前后端分离的架构,前端使用Vue.js等现代JavaScript框架,后端基于Spring Boot,提供了高效的API接口,便于前后端协作开发。 9. **微服务支持**:Jeecg还具备微服务化的能力,可以无缝对接...
8. **社区支持**:AmCharts有一个活跃的开发者社区,提供示例代码、问答和教程资源,有助于解决开发过程中遇到的问题。 9. **更新与维护**:AmCharts不断更新和改进其产品,以适应新的技术趋势和用户需求,确保控件...
ECharts 是一个基于 JavaScript 的开源可视化库,由百度公司开发并维护。它提供了一系列丰富的图表类型,如柱状图、折线图、饼图、散点图等,用于数据可视化的展示。ECharts 可以在 Web 浏览器中运行,支持多种...
F2 适用于多种移动应用场景,包括但不限于金融数据分析、商业智能报表、物联网数据展示等。它可以轻松集成到移动应用、Web 应用或者混合应用中,为用户提供直观的数据解读方式。 **F2-master 文件结构** 在 F2-...
涵盖多个方面,包括快速入门、设计思路、报表设计、参数应用、图表、填报、操作指南、授权注册、报表美化、移动端、大屏数据可视化、数据连接、性能优化、二次开发、部署集成等关键知识点。 1. **快速入门**:这...
5. **易用性**:“注册版”意味着该版本已经过授权,无需担心版权问题,且通常包含完整的文档和示例,便于快速上手开发。 6. **数据绑定**:FusionCharts可以轻松地与各种数据源绑定,如XML、JSON、数据库等,实现...
Echarts 是一个基于 JavaScript 的数据可视化图表库,由百度株式会社开发和维护,可以轻松地在网页中添加交互式的图表。下面是推荐的多个详细的 Echarts 资源,旨在帮助开发者快速上手 Echarts 并提高开发效率。 ...
ECharts是一款基于JavaScript的数据可视化库,它由百度公司开源,被广泛应用于Web应用程序中,用于创建交互式的图表和数据可视化的报表。ECharts的特点在于其灵活性、易用性和高性能,支持多种图表类型,如柱状图、...
Stimulsoft Report是一款强大的报表设计和开发工具,广泛应用于商业智能领域,为开发者提供创建、编辑和分发各类报表的解决方案。它支持多种平台,包括.NET Framework, .NET Core, JavaScript, HTML5, WinForms, ASP...
23. **二次开发**:对于需要自定义功能的用户,提供了JavaScript编程、引擎API和插件开发的指导。 以上内容构成了帆软FCRA的帮助文档,覆盖了报表设计、数据处理、权限管理、移动应用、系统集成等多个方面,为用户...