表格软件FineReport中如何设置动态打印

2025-10-27 11:48:49

1、父模板

数据准备

新建模板,新建数据查询:sql为SELECT * FROM 雇员。

2、报表主体设计

在A3单元格中使用复选框控件,用来勾选需要打印的信息,如下图:

表格软件FineReport中如何设置动态打印

3、获取复选框的值

为复选框添加初始化事件,将勾选项的信息放到数组中保存,代码如下:

if(!FR.checkBoxes){

FR.checkBoxes=new Array();

}

var len=FR.checkBoxes.length;

FR.checkBoxes[len]=this;

4、工具栏添加自定义打印按钮

点击模板>模板web属性>填报页面设置,选择为该模板单独设置,添加一个自定义打印按钮至工具栏中,并把自定义打印按钮清空,

表格软件FineReport中如何设置动态打印

5、自定义JavaScript,代码如下:

var joinData=function(){

var datas=[];

 for(var i=0;i<FR.checkBoxes.length;i++){

var checkBox=FR.checkBoxes[i];

if(checkBox.getValue()===true){

var colRow=FR.cellStr2ColumnRow(checkBox.options.location);

colRow.col++;

var location=FR.columnRow2CellStr(colRow);

var value=_g().getCellValue(location,null);

datas[datas.length]=value;

}

}

return datas.join(",");

}

var data=joinData();

var url="http://localhost:8075/WebReport/ReportServer?reportlet=doc/Advanced/PrintReport/SelectPrint_son.cpt"+"&ids="+data;

window.onbeforeunload=null;

FR.doURLPDFPrint(url);

保存

6、子模板

数据准备

新建模板,新建数据查询ds1,sql为SELECT * FROM 雇员 where 雇员id in (${ids}),该参数是为了接收父模板传递过来的雇员id。

7、报表主体设计

表格软件FineReport中如何设置动态打印

8、保存

注:父模板与子模板的样式应当保持一致,因为点击打印按钮之后,将父模板中的数据以参数的形式传递给子模板,并打印子模板。

9、预览与打印

打开父模板,点击填报预览,选中需要打印的数据,点击工具栏上的打印按钮,即可将选中信息打印出来了,如下图:

注:由于父模板中填报控件的存在,必须以填报预览的方式查看。

表格软件FineReport中如何设置动态打印

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢