JS实现弹窗后数据回填-https://help.fanruan.com/finereport/doc-view-3127.html
版本9.0,实现方法如下,亲测好用:
1、在主页面的【模版】》【模版web属性】里,新增加载结束事件,代码:
contentPane.on("cellselect", function(td) {
var row =contentPane.curLGP.getTDRow(td);
var col =contentPane.curLGP.getTDCol(td);
window.row=row-1; //按钮单元格所在行号
window.col=col-2; //按钮单元格左侧一格列号
});
2、主页面单元格添加按钮控件,新增点击事件,代码:
window.form = this.options.form; //当前的form赋值给全局变量
var $iframe = $(""); // iframe参数的命名及宽高等
$iframe.attr("src", "http://"+window.location.hostname+":8080/WebReport/ReportServer?reportlet=childtest.cpt&ref_t=design&op=view&ref_c=9e2cfd00-e8b1-4f7a-b870-bd0574f39811");
//childtest.cpt为点击查询时,对话框中显示的子报表,url改成自己的
var o = {
title : "筛选所需数据并返回",
width : 780,//调整对话框宽度
height: 590//调整对话框高度
};
FR.showDialog(o.title, o.width, o.height, $iframe,o); //弹出对话框
主页面按钮点击事件截图:
3、子页面单元格添加按钮控件,新增点击事件,设置参数sn,值为要传回的单元格,js代码:
var form = window.parent.contentPane;//拿取当前页面的父窗口(即获取填报界面)
var col = window.parent.col;
var row = window.parent.row;
form.setCellValue(col,row,sn);//给父页面按钮左侧单元格赋值sn
window.parent.FR.closeDialog(); //确定获取值后,关闭取消父窗口的对话框
window.parent.FR.destroyDialog();
子页面按钮点击事件截图: