润乾V4报表批量打印
背景说明
在应用中,经常遇到,批量打印的需求,批量打印,顾名思义,就是点击一次打印按钮,能打印多张报表。
下面,我们来介绍一下怎么样实现批量打印的
应用举例:
Jsp代码
<%
//report的参数格式为:report={无参数报表名}{报表1(参数1=value1;参数2=value2;…)}{报表2(参数1=value1;参数2=value2;…)}…prompt=yes
request.setCharacterEncoding( “GBK” );
String report = request.getParameter( “report” );
if( report == null || report.trim().length() == 0 ) throw new Exception( “report=null” );
String prompt = request.getParameter( “prompt” );
String appmap = request.getContextPath();
String serverPort = String.valueOf( request.getServerPort() );
String serverName = request.getServerName();
String appRoot = “http://” + serverName + “:” + serverPort + appmap;
%>
<object classid=”clsid:8AD9C840-044E-11D1-B3E9-00805F499D93″ codebase=”<%=appRoot%>/j2re-1_4_1-windows-i586-i.exe#Version=1,4,1,0″ width=”40″ height=”16″ id=”report1_directPrintApplet” style=”vertical-align:middle”>
<param name=”name” value=”report1_directPrintApplet”>
<param name=”code” value=”com.runqian.report4.view.applet.DirectPrintApplet.class”>
<param name=”archive” value=”<%=appmap%>/runqianReport4Applet.jar”>
<param name=”type” value=”application/x-java-applet;version=1.4″>
<param name=”appRoot” value=”<%=appRoot%>”>
<param name=”dataServlet” value=”/reportServlet?action=1″>
<param name=”srcType” value=”file”>
<param name=”fontFace” value=”宋体“>
<param name=”fontSize” value=”18pt”>
<param name=”fontColor” value=”#0000FF”>
<param name=”backColor” value=”#12632256″>
<param name=”icon” value= “<%=appmap%>/images/print.gif”>
<param name=”label” value=”打印“>
<param name=”needPrintPrompt” value=”<%=prompt%>”>
<param name=”scriptable” value=”true”>
</object>
<a href=”javascript:window.close()” class=”style3 style5″>取消</a>
<script language=javascript>
function runqian_getPrintReports() {
return “<%=report%>”;
}
</script>
将这个jsp文件放在应用中的相应目录下,发布浏览
在浏览器中,输入url:http://localhost:8080/demo/jsp/dayin.jsp?report={1.raq}{2.raq(arg1=”1″)}就可以了。参数report={1.raq}{2.raq(arg1=”1″)}就是我们需要打印的报表,多个报表是由”{}“分隔的;报表内的参数,是在报表名称后用”()”标识,参数之间用”;”分隔。
在页面中,你就会看见一个打印按钮,你点击,多张报表就都在打印机中打印出来了。
总结:有了批量打印,一点按钮,打印多张报表就可以实现了,是不是感觉特别方便呢。
润乾V4报表批量打印的更多相关文章
- 润乾V4报表放入WEBINF保护目录下如何实现
润乾报表放入WEBINF保护目录下如何实现 WEB-INF下面的文件都是受保护的,客户为了保护项目的文件不受到非法的访问,jsp页面都放在WEB-INF下,那润乾报表放入WEB-INF保护目录下 ...
- 润乾V4的最小化部署方式
在接触到的很多项目实际应用中,部署润乾V4都是使用润乾V4设计器自带的WEB发布向导,直接生成webRoot目录,然后将该目录下的所有文件COPY到项目目录下,然后修改web.xml文件和rep ...
- 润乾V4导出TXT时自定义分隔符
◆ 背景说明 报表中,导出text时,默认没有分隔符:应用中对导出Text,希望能自定义分隔符.在tag中定义了 textDataSeparator属性,让用户在导出Text时自定义分隔符,从而 ...
- 润乾报表JSF FORM 标签中使用填报表解决方案
需求 润乾报表的标签需要在jsf页面中和其他填报控件一起使用,润乾报表负责展现录入部分数据,并且这部分数据和页面的其它控件的数据存在前台和后台的交互. 问题 润乾报表在前台会生成自己的form, ...
- 润乾报表在proxool应用下的数据源配置
大多数应用会使用proxool数据连接池,proxool.xml的配置文件如下: <?xml version="1.0″ encoding="UTF-8″?> & ...
- tomcat下部署润乾报表
因为项目需要,需要在项目中配置润乾报表,之前一直是用的jboss服务器,此处调整为tomcat时出错,然后各种找错,找答案,最后终于好了,然后总结一下. 首先在apache-tomcat-6.0.43 ...
- VS2012报表(RDLC)系列应用之单据批量打印
一.前言 最近做的项目需要单据批量打印的功能,优先想到用RDLC来实现.经过Visual Studio几个版本的发展后,RDLC愈发成熟,操作方式也变得简洁,相比vs2005的版本,有质的提升,不过仍 ...
- 今天我碰到了由于web.xml文件表头信息导致润乾报表启动失败的问题,解决方案如下
下面是从2.3,2.4.2.5 3.0集中版本的web.xml头信息的细节,当发现系统启动不报错但是该生成的功能没有正常生成,特别是在这次配置润乾报表的时候发现用2.4版本的时候,在web.xml中配 ...
- 润乾报表新功能–导出excel支持锁定表头
在以往的报表设计中,锁定表头是会经常被用到的一个功能,这个功能不仅能使浏览的页面更加直观,信息对应的更加准确,而且也提高了报表的美观程度.但是,很多客户在将这样的报表导出excel时发现exce ...
随机推荐
- “context:include-filter”与“context:exclude-filter”标签作用解释
注意到spring中<context:component-scan>标签中会出现include和exclude的子标签,具体是做什么用的? spring的配置文件与springmvc的配置 ...
- centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本)
centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本) ##################### sendmail.py begin ######## ...
- Android 手势识别——单击/双击
为什么需要手势识别? 手势对于我们的app有很多的地方都在使用,比如右滑关闭界面等.手势控制分为触发动作(Touch Mechanics,用户手指在屏幕上如何动作)和触发行为(Touch Activi ...
- Java学习之路(十二):IO流<二>
字符流 字符流是可以直接读写字符的IO流 使用字符流从文件中读取字符的时候,需要先读取到字节数据,让后在转换为字符 使用字符流向文件中写入字符时,需要把字符转为字节在写入文件 Reader和Write ...
- implements和extends的区别
extends可以理解为全盘继承了父类的功能 implements可以理解为为这个类附加一些额外的功能 举个例子,Animal是一个父类,cat,dog,bird,insect都extends了Ani ...
- Flow类中的resolveBreaks与resolveContinues
/** Resolve all continues of this statement. */ boolean resolveContinues(JCTree tree) { boolean resu ...
- Python -- Gui编程 -- Win32API的使用
消息框 messageBox.py import win32api, win32con win32api.MessageBox(0, 'Hello World!', 'Come Here', win3 ...
- 《垃圾回收的算法与实现》——GC标记-压缩算法
基本算法 Mark-Compact与Mark-Sweep的第一阶段均为标记活跃对象,第二阶段则不同,压缩算法则是将活跃对象逻辑上移到一起. Lisp2算法 对象头中增加forwarding指针,其用法 ...
- Ruby on Rails Mountable vs. Full Engine
原文 :https://www.travisluong.com/ruby-on-rails-mountable-vs-full-engine/一个Rails Engine 本质是一个 Rails ap ...
- Base64加密解密工具类
使用Apache commons codec类Base64进行加密解密 maven依赖 <dependency> <groupId>commons-codec</grou ...