润乾集算报表应用开发之参数输入

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
while(paramNames.hasMoreElements()){ String paramName = (String) paramNames.nextElement(); String paramValue=request.getParameter(paramName); if(paramValue!=null){ //把参数拼成 name=value;name2=value2;.....的形式 param.append(paramName).append("=").append(paramValue).append(";"); }
报表部署可以参考润乾集算报表部署的相关文档,发布带有参数模板的报表时定义的 JSP 至少包含如下内容。 (1)参数处理部分,通过 request 接收参数模板传递的参数,将参数拼接成 参数名 1=参数值 1;参数名 2=参数值 2;…的格式:
Enumeration paramNames = request.getParameterNames(); if(paramNames!=null){
} } 这里仍然要将参数拼成参数名=参数值;…的形式,这样数据报表才能正常接收。
(2)发布数据报表:
<report:html name="report1" reportFileName="orders.rpx" params="<%=param.toString()%>"
/> 最后访问参数输入页面,输入条件即可得到数据报表的查询结果。
数输入的参数名应与参数模板中变量名一致。
设置报表数据集,这里要根据订购日期起止和订单 ID 来过滤数据,数据集 SQL 为:
SQL 中的问号与参数要一一对应,包括名称和位置。
有时希望报表初次加载(不输入参数)时查询所有数据,此时需要修改 SQL 为: SELECT * FROM 订单 where (订购日期>=? or ? is null) and (订购日期<=? or ? is null) and (订单 ID>? or ? is null) 同时参数部分也要做相应修改:
while(paramNames.hasMoreElements()){ String paramName = (String) paramNames.nextElement(); String paramValue=request.getParameter(paramName); if(paramValue!=null){ //把参数拼成 name=value;name2=value2;.....的形式 param.append(paramName).append("=").append(paramValue).append(";"); }
定义参数模板内容,主要包括表单样式、查询内容等信息。
右键单元格设置编辑风格,设置 B2 和 D2 为下拉日历,F2 为编辑框。
在设计器中右侧的属性面板中设置单元格变量名称,用于数据报表接收参数。这里设置 B2 格变量名 b_date、D2 为 e_date、F2 为 orderID。
2、编辑数据报表 新建数据报表,保存报表名称为 orders.rpx,在数据报表中定义参数,其中用于接收参
<report:html name="report1" reportFileName="orders.rpx" params="<%=param.toString()%>"
/> </td></tr> </table> </body> </html>
自定义参数输入
用户自定义参数输入时,需要自己定义查询表单,设置查询条件等信息。如仍以上述查 询报表为例,使用自定义参数输入可参考如下步骤: 1、定义参数输入表单 <form action="showReport.jsp?rpx=orders.rpx" method="post">
最后报表在页面上展现:பைடு நூலகம்
【附】完整 JSP 代码: <%@ page contentType="text/html;charset=GBK" %> <%@ taglib uri="/WEB-INF/raqsoftReport.tld" prefix="report" %> <%@ page import="java.util.*"%> <html> <body topmargin=0 leftmargin=0 rightmargin=0 bottomMargin=0> <%
下面就上述两种参数输入方式的使用分别来看一下。
使用参数输入模板
集算报表提供了“参数模板”的报表类型,使用参数模板可以制作参数输入表单,而且 其内置了多种编辑风格,如下拉树、下拉日历、列表框、下拉数据集等。使用时可以参照下 面的步骤: 1、定义参数模板
新建参数模板类型报表,可以使用新建向导进行选择,也可以通过报表属性进行修改, 新建的参数模板保存为 orders_arg.rpx。
request.setCharacterEncoding( "GBK" ); StringBuffer param=new StringBuffer();
Enumeration paramNames = request.getParameterNames(); if(paramNames!=null){
} } (2)发布参数模板部分,使用集算报表提供的<report:param>标签发布参数报表,该标签中带 有很多属性,使用时至少应包含 name、paramFileName(模板名称)和 params(参数): <report:param name="form1" paramFileName="orders_arg.rpx"
request.setCharacterEncoding( "GBK" ); StringBuffer param=new StringBuffer();
Enumeration paramNames = request.getParameterNames(); if(paramNames!=null){
/> </td><td><a href="javascript:_submit( form1 )"><img src="../images/query.jpg"
border=no style="vertical-align:middle"></a></td> </tr></table>
</td></tr> <tr><td align=center valign=top height=100%>
润乾集算报表应用开发之参数输入
参数对于报表的重要性不言自明,润乾集算报表支持两种参数输入方案,可以使用集算 报表设计参数模板联合报表一同发布,还可以自定义参数输入后与报表结合。二者并没有显 著的差异,前者在开发使用上更加方便快捷,而后者则在灵活性上更胜一筹,用户在使用集 算报表参数输入时可以根据实际需要进行选择。
while(paramNames.hasMoreElements()){ String paramName = (String) paramNames.nextElement(); String paramValue=request.getParameter(paramName); if(paramValue!=null){ //把参数拼成 name=value;name2=value2;.....的形式 param.append(paramName).append("=").append(paramValue).append(";"); }
2、报表发布页面 show.jsp <%@ page contentType="text/html;charset=GBK" %> <%@ taglib uri="/WEB-INF/raqsoftReport.tld" prefix="report" %> <%@ page import="java.util.*"%> <html> <body topmargin=0 leftmargin=0 rightmargin=0 bottomMargin=0> <%
needSubmit="no" params="<%=param.toString()%>"/> (3)发布数据报表部分,联合参数模板一同发布的数据报表采用集算报表提供的<report:html> 标签,其包含的的众多属性中必须使用的属性如下: <report:html name="report1" reportFileName="orders.rpx" params="<%=param.toString()%>" />
2、编辑数据报表 编辑数据报表与使用参数输入模板中数据报表一致,此处不再赘述。
3、定义发布报表页面 (1)接收参数表单传递的参数:
Enumeration paramNames = request.getParameterNames(); if(paramNames!=null){
while(paramNames.hasMoreElements()){ String paramName = (String) paramNames.nextElement(); String paramValue=request.getParameter(paramName); if(paramValue!=null){ //把参数拼成 name=value;name2=value2;.....的形式 param.append(paramName).append("=").append(paramValue).append(";"); }
} } %> <table id="rpt" align="center" width=100% height=100%> <tr><td align=center valign=top height=100%>
<p>订购日期起:<input type="text" name="b_date" /></p> <p>订购日期止:<input type="text" name="e_date" /></p> <p>订单 ID 大于:<input type="text" name="orderID" /></p> <input type="submit" value="查询" /> <form> 其中参数 name 应与数据报表中参数名一致,这里参数输入均为文本框。
设置报表表达式,完成数据报表制作。
3、编写发布报表 JSP 页面 集算报表安装后自带了一个完整的 web 应用 demo,在[安装目录]\report\webapps 下可
以找到。该应用中的 reportJsp 目录下自带 showReport.jsp 为发布报表的页面,用户可以直 接使用,其中主要包括如下内容,当用户自定义页面发布带有参数的报表时使用。
} } %> <table id="rpt" align="center" width=100% height=100%>
<tr><td align=center valign=top height=100%> <table id="param_tbl"><tr><td>
<report:param name="form1" paramFileName="orders_arg.rpx" needSubmit="no" params="<%=param.toString()%>"
【附】完整 JSP 代码: 1、参数输入界面 query.jsp <html> <body topmargin=0 leftmargin=0 rightmargin=0 bottomMargin=0> <form action="show.jsp" method="post">
<p>订购日期起:<input type="text" name="b_date" /></p> <p>订购日期止:<input type="text" name="e_date" /></p> <p>订单 ID 大于:<input type="text" name="orderID" /></p> <input type="submit" value="查询" /> <form> </body> </html>
相关文档
最新文档