Sung in Blog

           一些技术文章 & 一些生活杂碎
JasperReport是一个比较好的基于java的报表工具,支持多种输出格式

1:对于A4的报表,可以这样指定页面:pageWidth="595" pageHeight="842" orientation="Portrait" ,orientation指的是打印的方向,可有2中选择
Portrait(纵向),LandScape(横向)
2:报表xml中是区分大小写的
3:表达式:jasper中共有<variableExpression>, <initialValueExpression>, <groupExpression>,
<printWhenExpression>, <imageExpression>, <textFieldExpression>这几种表达式,在表达式中可以引用3中类型的变量,分别是$P{},$V{},$F{}.
P=Parameter,V=Variable,F=Field,P通常是通过程序传给报表中的,V是为了简化操作定义的一种表达式,F通常是要填充的字段.
<textFieldExpression>
$P{ReportTitle}
</textFieldExpression>
ReportTitle是在应用程序中通过一个Map指定的:
Map parameters = new HashMap();
parameters.put("ReportTitle", "Address Report");
JasperPrint jasperPrint =
JasperFillManager.fillReport(
jasperReport,
parameters,
new WebappDataSource()
);
参数也可以 在xml中指定:
<parameter name="MyDate" class="java.util.Date">
<defaultValueExpression>
new java.util.Date()
</defaultValueExpression>
</parameter>
$F{}例子:
<textFieldExpression>
$F{FirstName} + " " + $F{LastName} + " was hired on " +
(new SimpleDateFormat("MM/dd/yyyy")).format($F{HireDate}) + "."
</textFieldExpression>

4:数据源:
如要为报表指定一个数据源,则需要实现dori.jasper.engine.JRDataSource接口,也就是实现下面2个方法:
public boolean next() throws JRException;
public Object getFieldValue(JRField jrField) throws JRException;
如果报表指定的是Connection,则可以在xml中指定查询语句:
<queryString><![CDATA[SELECT * FROM Orders]]></queryString>
5:计算:
<variable name="QuantitySum" class="java.lang.Double" calculation="Sum">
<variableExpression>$F{Quantity}</variableExpression>
</variable>

posted on 2005-10-26 15:47 Sung 阅读(663) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航: