反馈已提交

网络繁忙

动态打印

  • 文档创建者:文档助手1
  • 历史版本:16
  • 最近更新:Alicehyy 于 2023-08-21
  • 1. 概述

    1.1 问题描述

    在进行报表查看时,有时会发现一两条重要或者错误信息,需要将其进行打印出来备份一下,这时就需要动态实现打印效果,勾选需打印的信息,将其打印出来。

    注:在 JAR 包版本为 2018-04-09 及以上版本时,请使用新的打印方式,详情参照:[新]打印

    1.2 实现思路

    通过勾选复选框控件,获取到需要打印的值,点击自定义打印按钮,把值以参数的形式传到另一个模板,并打印出来,以达到只打印出客户所勾选记录的效果。

    2. 示例

    2.1 父模板

    1)数据准备

    新建模板,新建数据查询 SQL 语句为:SELECT * FROM 雇员

    2)报表主体设计

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

    222

    获取复选框的值

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

    if(!FR.checkBoxes){
    FR.checkBoxes=new Array();
    }
    var len=FR.checkBoxes.length;
    FR.checkBoxes[len]=this;

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

    222

    自定义 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/webroot/decision/view/report?viewlet=doc%2FAdvanced%2FPrintReport%2F%5B52a8%5D%5B6001%5D%5B6253%5D%5B5370%5D%5B5b50%5D%5B6a21%5D%5B677f%5D.cpt"+"&ids="+data;
    window.onbeforeunload=null;
    FR.doURLPDFPrint(url);

    3)保存

    2.2 子模板

    1)数据准备

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

    2)报表主体设计

    222

    3)保存

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

    2.3 效果预览

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

    222

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

    注2:不支持移动端。

    3. 模板下载

    1)已完成模板请参见%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport\动态打印主模板.cpt

    点击下载模板:动态打印主模板.cpt

    2)已完成模板请参见%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport\动态打印子模板.cpt

    点击下载模板:动态打印子模板.cpt

    附件列表


    主题: 报表专题
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持