自定义报表系统FineReport中如何设置动态打印

 时间:2026-02-13 12:24:43

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中如何设置动态打印

  • 在VBA中,如何编写隔行删除代码?
  • 使用动态域名突破内网限制
  • win10如何开启远程访问功能
  • 去掉每次打开Word2013时弹出的配置
  • 怎样通过批处理文件来管理系统用户
  • 热门搜索
    香港旅游全攻略 旅游资源的开发与保护 浙江台州旅游 全景旅游 全国旅游路线 云丘山旅游风景区 同里旅游攻略 广东惠州旅游景点 衡水旅游景点大全 迪庆州旅游局