当前版本的FR插件开发过程中~让开发者头疼的往往是与FR的耦合问题~很多插件都会大面积的使用到FR的内部代码,这样使得插件跟FR耦合过深,很容易在产品升级,JAR包更新时发生各种不兼容的问题。所以我大胆的想了一个方法~就是开发一个超级API插件~尽可能的把我们需要的FR的代码以功能API的形式封装到插件里面~以后其他插件与FR的耦合~都尽可能通过这个插件~这样开发者就没必要去纠结FR的内部实现了~兼容问题也都由这个插件来维护~
现面向全网番薯和爱好者征集,你觉得需要用到的目前却没有的API~
现面向全网番薯和爱好者征集,你觉得需要用到的目前却没有的API~
现面向全网番薯和爱好者征集,你觉得需要用到的目前却没有的API~
插件上传不上来(总是说我没安装flash,都安装N次了)~我放到我的技术交流群里面了( 367705354)需要的加群下载(加群请带上论坛昵称)~
目前也么得啥API,倒是提供了几个小方法
修改sheet名(可导出)
前端调用:
FR.SPAPI.setSheetName(tag,name);
tag 就是要修改的sheet原名或者sheet编号(从0开始)
name 就是新名字
比如:把sheet2 改名为AAA 调用为 FR.SPAPI.setSheetName( ‘sheet2’, 'AAA');
把第1个sheet(从0开始)改名为AAA调用为 FR.SPAPI.setSheetName( 1, 'AAA');
后端调用:
com.midas.api.API.setSheetName( Object sheetTag,String newName, String sessionID );
param sheetTag 要修改的sheet名或索引
param newName 新名字
param sessionID 报表sessionID
return 执行结果 JSONObject
适用于分页预览填报预览,不支持跨sheet取数【要连跨sheet取数一起改的话性能太低了】
分页预览修改单元格的值(支持打印导出)
限制:联动单元格运算不会执行(原因是分页预览后台结果里面只有值没有保留联动需要的相关依赖和公式),所有修改哪一个单元格,只会改变那个单元格的值,相关联动单元格的值不会变
调用方法:
FR.SPAPI.setPageCellValue( cell, value )
FR.SPAPI.setPageCellValue( cell, value, pn)
cell 要修改的当前页面上的单元格 比如A2 B5这样的~
value 新值
pn 页码,不传表示修改当前页
报表块CPT滚动
支持以下情况:
无冻结cpt,分页填报预览
冻结行cpt,分页填报预览
表单报表块
冻结行表单报表块
自定义滚动条插件
调用方法:
var spd = 3.5;//滚动的速度,自己调节,不传默认就是3.5
表单中,在对应的报表块控件的初始化事件里面写
FR.SPAPI.autoScroll(this,spd);
cpt模板中在分页预览或填报预览的加载结束事件写
FR.SPAPI.autoScroll(null,spd);
这两个是缺省的调用方法,还可以传递一个滚动到最下面之后的回调函数比如:
var cbk = function(stimer,$tag){
自定义操作,参数1是定时器序号,参数2是滚动的对象,当一次滚动到最下面时会执行这个方法,如果不传这个方法,默认的就是停止滚动并,回到最上面。
}
补充:回调返回true则滚动会继续执行,返回false则终止滚动
调用方法为:
FR.SPAPI.autoScroll( this, spd, cbk );
FR.SPAPI.autoScroll( null, spd, cbk );
另外值得注意的就是,鼠标悬浮在滚动对象上,将停止滚动,离开将恢复滚动,双击将终止滚动,再次双击将开启滚动(否则不论鼠标悬浮还是离开都不会滚动)
导出防sessiontimeout
该API为纯前端API,调用方法
1.以默认excel的导出形式导出当前报表
FR.SPAPI.exportEx();
2.以xxx的形式导出当前报表 [page sheet simple excel]都是excel
FR.SPAPI.exportEx("xxx");
3.自定义文件名
FR.SPAPI.exportEx("xxx","文件名");
4.导出指定结果报表,用于某些特殊场景(比如子表触发主表导出)
FR.SPAPI.exportEx("xxx","文件名",sessionID);
扩展:获取当前sessionID_g().currentSessionID;
编辑于 2018-6-6 14:27
|