反馈已提交

网络繁忙

传参打印其他报表

  • 文档创建者:文档助手1
  • 历史版本:29
  • 最近更新:Suki陈 于 2023-02-07
  • 1. 概述

    1.1 版本

    报表服务器版本
    11.0

    1.2 应用场景

    有时候我们希望在某张报表中可以通过传参的方式打印其他报表。

    例如:有一张订单表,对于每条记录后面都希望有一个“打印”按钮,点击的时候可以将该记录对应的明细报表打印出来。效果如下图所示:

    1619748308253287.gif

    1.3 实现思路

    通过 JavaScript 类型的超级链接,实现点击超链后调用 FineReport 的打印方法,传递需要打印的报表路径及参数,将报表打印出来。

    2. 示例

    2.1 设计子模板

    1)子模板是被打印的模板,新建普通报表,添加数据集 ds1:SELECT * FROM 订单明细

    2)设计子模板表格,将对应字段拖到单元格中,如下图所示:

    Snag_3efe19.png

    3)为了在主模板中将参数传递给子模板,需要通过参数设置数据过滤。子模板和主模板共有的字段是订单ID,所以用这个字段来设置过滤。如下图所示:

    1619750636747402.png

    2.2 设计主模板

    1)主模板是打印的地方,新建普通报表,添加数据集 ds1:SELECT * FROM 订单 limit 10

    2)设计主模板表格,将对应字段拖到单元格中,其中 F2 单元格填写文本“打印”,这个单元格后面会添加超链,如下图所示:

    Snag_4f39ad.png

    2.3 添加超链

    主模板选中 F2 单元格,添加一个 JavaScript 类型的超级链接,添加一个id,其值为=A2,作为传参用,然后填写 JavaScript 代码,如下图所示:

    1619751745179419.png

    JavaScript 代码如下:

    var reportURL="/webroot/decision/view/report?viewlet=doc%2FParameter%2F%5B53c2%5D%5B6570%5D%5B4f20%5D%5B9012%5D%5B6253%5D%5B5370%5D_%5B5b50%5D%5B6a21%5D%5B677f%5D.cpt&id=" +id; //示例用到的子模板路径,可根据实际修改
    FR.doURLPDFPrint(reportURL); //调用FR打印方法

    2.4 效果预览

    主模板点击分页预览,效果如 1.1 应用场景中所示。

    注1:打印不支持移动端。

    注2:填报预览也可以通过按钮控件的点击事件来调用打印事件,并且可以传递参数。

    2.5 模板下载

    已完成模板参见:

    %FR_HOME%\webapps\webroot\doc\Parameter\参数传递打印_主模板.cpt

    %FR_HOME%\webapps\webroot\doc\Parameter\参数传递打印_子模板.cpt

    点击下载模板:

    参数传递打印_主模板.cpt

    参数传递打印_子模板.cpt

    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

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

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

    不再提示

    10s后关闭

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