zoukankan      html  css  js  c++  java
  • 打印时报表的几种需求

    

    随着客户的不同,对打印的具体需求也会发生相应变化,大概分以下集中:

    一:页面上展现一张表,该报表可能增加很多背景色前景色等,但是点打印或导出时只需要黑白打印,即展现一张表打印时为另一张表

    解决方法:制作一张和展现报表一样的报表文件(背景色等不同),在显示报表的jsp标签中加入 printedRaq=”aa.raq”,这样打印时调用的为aa.raq,并且页面上的参数也会参与相应运算。

    二:客户原来自己做了相应报表,比如说填报表,只用来填写数据,润乾只是用于打印或导出,并且在客户原有页面上点打印时不再弹出jsp页面显示报表,直接调用applet展现打印预览形式。

    解决方法:定义相关js函数,页面上点击按钮式onClick时调用该js函数即可,例如:

    function print() {
      document.report1_printIFrame.location = “http://localhost:8001/report/servlet/com.runqian.report.view.DataServlet?name=report1&reportFileName=<%=raqName%>&canModifyBeforePrint=no&srcType=file&action=print&savePrintSetup=no&appletJarName=runqianReportApplet.jar&reportParamsId=<%=reportParamsId%>”;
     }

    reportParamsId即为参数id,能把一些参数也传到报表中进行计算,代码如:

    String reportParamsId = null;//定义reportParamsId
       Hashtable hash = new Hashtable();
             hash.put( “arg1″, “1111111″ );//将参数和值放到hashtable中,arg1为报表中定义的参数,保监会中改成人员id那个参数名,111111为参数值,将userid放在这
        if( hash.size() > 0 ) {
           //生成一个ID,并把这个ID与刚才准备的hash形成键值关系
           reportParamsId = com.runqian.report.view.ParamsPool.createParamsId();//生成参数缓存id
           com.runqian.report.view.ParamsPool.put( reportParamsId, hash );//将id放到缓存中
           }

    这样即可实现报表不展现,也能够实现打印或导出。

    三:销售订单类报表偏多,页面上先展现各个订单号,前边带有复选框,用鼠标选中想要打印的订单号,然后点击打印,需要把所选择的订单编号所对应的明细都打印出来。

    解决方法:该表通常有两种需求,一种是在一张报表中把多个订单编号数据都取出,然后扩展打印,另一种为多个订单号对应多张报表,这里说下对应多张报表时的调用方法,首先获得复选框选中的订单编号的值,然后将该值传给润乾批量打印的jsp(应用开发文档中有相关例子),这样就可以在该jsp中调用不同的报表,一次打印出来。

  • 相关阅读:
    Asp.net MVC 利用 Nopi 导出 Excel
    React 中 调用 Asp.net WebApi
    Node.js mysql 连接池使用事务自动回收连接
    __far和__near的小问题
    注册博客园了,以后在这里写写随笔。
    Electron客户端开发入门必备的知识点
    公司组织构架的三大类型
    经济学中的人性抉择(下)
    经济学中的人性抉择(上)
    模拟音乐播放器播放条样式
  • 原文地址:https://www.cnblogs.com/shiGuangShiYi/p/10117508.html
Copyright © 2011-2022 走看看