润乾集算报表作为纯JAVA报表可以很方便嵌入到J2EE页面中使用,目前集算报表提供了多种发布方式供用用户将报表嵌入到JSP页面时使用。集算报表中报表有参数报表和数据报表两种,下面来看一下这两类报表的页面嵌入方式。
由于参数报表大多数都和数据报表联合发布查询数据,所以这里只介绍联合使用方式(单独发布与数据报表一样)。参数报表嵌入页面时使用的标签为<report:param>,该标签的主要属性有name、paramFileName和params,name指定了参数表单的名称,paramFileName为参数报表模板文件名,params为参数报表接收的参数,其格式要求为:参数名1=参数值1;参数名2=参数值2…。具体使用可以参考如下书写方式:
<report:param
name="form1"
paramFileName="demo_arg.rpx"
params=""
/>
数据报表嵌入页面使用的标签为<report:html>,常用属性包括name(表格名称)、srcType(源类型,可以是file、defineBean或reportBean)、funcBarLocation(是否包含工具条)、needPageMark(是否需要页码)、params(报表参数,同参数报表中params)、exceptionPage(错误提示页面)等。
属性srcType的不同值指定了不同的报表发布方式,以满足不同场景的需要。下面分别来看一下。
当srcType=”file”时为file方式发布报表,通过reportFileName属性指定报表模板名称完成报表发布。此方式为最常用的报表发布方式,具体使用可以参考如下书写方式:
<report:html
srcType=”file”
name="report1"
reportFileName="demo.rpx"
funcBarLocation="top"
needPageMark="yes"
params="d_year=2014;u_id=10001"
exceptionPage="/reportJsp/myError2.jsp"
/>
除了直接指定报表文件,还可以发布程序读入的报表定义(ReportDefine),使用这中方式需要指定srcType=“defineBean”,具体使用可以参考如下书写方式:
<% //读入报表定义
String reportPath =request.getRealPath("/reportFiles/api/wangge.rpx");
ReportDefine rd =(ReportDefine)ReportUtils.read(reportPath);
request.setAttribute("reportDefine",rd);
%>
<!―发布报表 -->
<report:html
name="report1"
srcType="defineBean"
beanName="reportDefine"
exceptionPage="/reportJsp/jsp/myError.jsp"
/>
除了直接指定报表模板和接收报表定义,有时还需要直接使用程序计算好的报表(IReport)进行发布,此时需要指定srcType=“reportBean”,使用时可以参考如下写法:
<% //程序计算报表
String reportPath =request.getRealPath("/reportFiles/api/wangge.rpx");
ReportDefine rd =(ReportDefine)ReportUtils.read(reportPath);
Context cxt = newContext();
Engine engine = newEngine(rd, cxt);
IReport iReport =engine.calc();
request.setAttribute("report",iReport);
%>
<!―发布报表 -->
<report:htmlname="report1"
srcType="reportBean"
beanName="report"
exceptionPage="/reportJsp/jsp/myError.jsp"
/>
除了上述三种方式,还可以自定义context后传递给tag去发布,利用context,可以传递参数和宏,还可以指定数据源、数据库连接工厂等。使用时可以参考如下写法:
<%
Context context = newContext();
//传递参数、数据源等,此处省略
request.setAttribute(“myContext”, context );
%>
<report:html ……..
contextName=”myContext”
/>
1.功能条
配置funcBarLocation="top"和needPageMark="yes"可以在报表上方显示功能条及翻页按钮等。
2.导出打印按钮
配置needSaveAsWord="yes" needSaveAsExcel="yes" needSaveAsPdf="yes"needPrint="yes" 可以显示导出Word、Excel、Pdf及打印按钮。
3.固定表头
配置needScroll="yes" scrollWidth="100%"scrollHeight="100%"可以将报表表头固定。