反饋已提交
網絡繁忙
在进行批量导出或打印时,勾选部分行并传递内容给新的模板,进行打印或导出,不同行传递的模板不一样。如下图所示:
通过 JavaScript 代码传递参数,进行指定模板批量打印和导出。
新建普通报表,存储为:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport\test10001.cpt
模板样式如下图所示:
新建普通模板,存储为:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport\test10002.cpt
新建普通模板,存储为:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport\PrintExample.cpt
新建普通报表,新建数据集 ds1,数据库查询语句为:SELECT * FROM 订单 where 1=1 ${if(len(p1) == 0,"","and 订单ID in ('" + p1 + "')")} limit 10
如下图所示:
报表样式如下图所示:
1)按钮控件
设置 C1、C2 单元格为按钮控件,C1 单元格的按钮名称为批量打印,C2 单元格的按钮名称为批量导出。如下图所示:
2)复选按钮控件
选中 B3 单元格,点击控件,设置为复选按钮控件,如下图所示:
选中 B3 单元格,点击单元格属性>扩展,设置扩展方向为不扩展,左父格自定义为 C3 单元格。如下图所示:
编辑参数面板,新增一个标签控件、下拉复选框控件和查询控件。设置标签控件的控件值为 p1: 。
设置下拉复选框控件的控件名称为 p1。设置数据字典,类型设置为数据查询,实际值和显示值都是订单ID,如下图所示:
选中 C1 单元格,点击控件>事件,添加点击事件,输入 JavaScript 代码,如下图所示:
批量打印的 JavaScript 代码如下所示:
var printurl="http://localhost:8075/webroot/decision/view/report";var names = [];var paths = [];var singlepaths = []; var url = "ReportServer?reportlets=(";var $span = $('.fr-checkbox-checkon'); //获取选中的复选框 var $tds = $("td").has($span); //定义选中复选框的单元格 var $trs = $("tr").has($tds); var p=[]; for(var i=0; i<$trs.length;i++){ var name = $("td:eq(2)",$($trs[i])).html(); //获取选中的C4单元格的值 var a = $("td:eq(3)",$($trs[i])).html(); var b = $("td:eq(4)",$($trs[i])).html(); // names.push(name); //将选中的值放到数组中 var cptpath ="doc/Advanced/PrintReport/"+"test"+ name+".cpt"; var urlstring = "{reportlet:" +"'"+FR.cjkEncode(cptpath)+"'"+",p1:"+"'"+name+"'"+",p2:"+"'"+a+"'"+",p3:"+"'"+b+"'"+"}"; debugger; paths.push(urlstring); debugger;} if(paths.length>0){var rpaths=paths.join(","); var reportlets="["+rpaths+"]"; var config = {url : printurl, isPopUp : false, data : {reportlets:reportlets} }; } debugger; FR.doURLPDFPrint(config);
选中 C2 单元格,点击控件>事件,添加点击事件,输入 JavaScript 代码,如下图所示:
批量导出的 JavaScript 代码如下:
var paths = [];var url = "report?reportlets=[";var $span = $('.fr-checkbox-checkon'); //获取选中的复选框 var $tds = $("td").has($span); //定义选中复选框的单元格 var $trs = $("tr").has($tds);for (var i = 0; i < $trs.length; i++) { var name = $("td:eq(2)", $($trs[i])).html(); //获取选中的C3单元格的值 var a = $("td:eq(3)", $($trs[i])).html(); var b = $("td:eq(4)", $($trs[i])).html(); var cptpath = "doc/Advanced/PrintReport/" + "test" + name + ".cpt"; var urlstring = "{reportlet:" + "'" + encodeURI(encodeURI(cptpath)) + "'" + ",p1:" + "'" + name + "'" + ",p2:" + "'" + a + "'" + ",p3:" + "'" + b + "'" + "}"; paths.push(urlstring);}url = url + paths + "]&format=word&__filename__=Xname";window.open(encodeURI(url));
保存模板,点击填报预览,即可对选中行的数据根据不同模板打印或导出。效果如 1.1 预期效果所示。
注:移动端不支持各种打印和导出方式。
已完成模板请参见:
%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport\PrintExample.cpt
%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport\test10001.cpt
%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport\test10002.cpt
点击下载模板:
PrintExample.cpt
test10001.cpt
test10002.cpt
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉