1.条件选择后自动查询
_g().parameterCommit();
2.自定义按钮事件提交
_g('${sessionID}').writeReport();
FineReport数据提交的时候还包含数据校验,如果自定义按钮提交的时候同时希望执行内置的提交校验,校验不通过,则不提交,那么js可更改为:
_g('${sessionID}').verifyAndWriteReport();
3. 1.点击插入行事、删除事件
添加行事件contentPane.appendReportRC(1); 删除行事件contentPane.deleteReportRC(null,window.num);
3. 2.填报页面,勾选为该模板单独设置,然后在事件编辑中增加加载结束事件加载结束事件
- var curLGP = contentPane.curLGP; //获取当前填报表
- contentPane.on("cellselect", function(rowvalue) { //增加单元格选中监听事件
- var rownum = $(rowvalue).attr("id"); //获取选中的单元格的当前行号
- window.num = rownum; //将当前行号赋值给window的num变量
- });
3. 3 如遇批量删除按钮点击事件 JS 写法如下
//定义选中的复选框
var darray = [];
var $tds = $("td").has($span); //定义选中复选框的单元格
for (var i = 0, len = $tds.length; i < len; i ++) { //遍历选中的单元格
var id = $($tds[i]).attr("id"); //给选中的单元格加上id的属性
if (id) {
darray.push(id); //将选中的id放入到数组中
}
}
contentPane.deleteReportRC(null,darray); //第二个参数为批量删除的选中行
contentPane.writeReport();
4.FR强制将光标移到某个单元格后刷新
contentPane.curLGP.selectTDCell("A2") ;//A2表示为需要将光标强制移到的位置
5.全屏事件
- var docElm = document.documentElement;
- //W3C
- if(docElm.requestFullscreen){
- docElm.requestFullscreen();
- }
- //FireFox
- else if(docElm.mozRequestFullScreen){
- docElm.mozRequestFullScreen();
- }
- //Chrome等
- else if(docElm.webkitRequestFullScreen){
- docElm.webkitRequestFullScreen();
- }
注:上述代码仅适配于谷歌、火狐、360(极速模式)浏览器。
6.JS获取报表单元格值
var v3=contentPane.curLGP.getCellValue("E4");
7.直接获取参数面板控件值
var a=_g().parameterEl.getWidgetByName("dpmc").getValue();//获取b控件的值
alert("地区是:"+a);
8.填报成功自动刷新
点击模板>模板web属性>填报页面设置,然后在事件设置中添加填报成功事件,在js脚本中输入:
- location.reload();
点击确定即可。
2. 多sheet填报表编辑
2.1 问题描述
对于多sheet填报表,若对sheet2进行填报,使用如上解决方案填报成功后显示的是sheet1,需要点击sheet2才能查看刚刚填报的内容,那么如何实现在哪个sheet填报成功就显示哪个sheet呢?
2.2 实现方案
点击模板>模板web属性>填报页面设置,然后在事件设置中添加填报成功事件,在js脚本中输入:
- this.refreshAllSheets();
9.前端JS引用报表主体点事件或参数界面点击事件
参数界面的按钮
1 |
|
报表主体的按钮
1 |
或g(). 填报contentPane |
10.普通CPT报表JS获取sessionid的方法 : var a=conternPane.currentSessionID alert(a)
决策报表session获取方法点击事件 var a=_g().sessionID alert(a)
报表内容可直接按变量取公式 =sessionID
11. 小写自动转换成大写(编辑后事件)
this.setValue(this.getValue().toUpperCase());