您的位置:首页 > 编程语言 > ASP

使用ireport设计jasperreport报表模板,以及简单的设计使用案例

2015-01-21 13:53 597 查看
1.了解ireport与jasperreport的区别。

2.怎样使用ireport绘制报表模板.

3.了解ireport的几个概念。

4.ireport的深入探讨。

1.ireport 是一个专门用于绘制jasperreport能够解析.jasper模板文件的工具。只是一个图形界面工具。

注意一点的是:即使没有ireport的工具jasperreport一样能开发报表。ireport只是提供了一种快速开发报表的一种途径。

jasperreport是一些提供报表模板编写,解析,打印的jar包。

2.怎样使用ireport绘制报表模板.

ireport设计效果:


实际使用ireport设计的报表打印效果:


2.1).ireport提供了一些用于绘制模板的一些组件如:


在实际的模板设计中只需使用鼠标拖拽这些组件到相应的区域即可。

2.2).了解ireport设计版面的区域:


了解各区域的含义:

title:报表的标题,如有多页只有一个标题 。如上图:“2010年度 所有类别”

page Header: 每页报表数据页头,每页数据均有一个页头。如上图:“截止:2010年04月20日 单位:元”

column Header:顾名思义每列数据的列头。

detail:真实数据显示区域。该区域可循环,根据实际传入的数据源的记录数,来确定循环多少次。

具体设计:



此区域只是提供了一行字段单元格。通过循环得到显示数据。

column Footer:每页列数据统计区域:即如果你需统计某一列数据的sum那么,在此处显示用于统计的数据即可。

page Footer:每页的结尾,在此处你可以显示:“当前为第N页” 这样的信息。

summary:用于统计多页数据中某列数据的sum时,你可以在此处显示要统计的数据。即此处数据最终只显示一次。

3.使用ireport进行模板设计理解三个常见概念:

看上面ireport设计图:有$V{} $P{} $F{}下面一次讲一这三个参数的概念。

3.1).$P{parameterName}用于存储需从程序或传递给sql语句的参数。jasperreport提供了一些默认的参数变量:


这里讲几个默认提供变量:report_parameters_map :表示用于存储所有参数的map集合:比如上图有$P{type}

那我们具体在程序中给值:map.put("type",typeValue) 而最终这map是会传递给jasperreport的类去解析的,

在内部我们可以认为最终map的给值是: report_parameters_map=map

report_connection:表示ireport与数据库连接的connection对象.使用与sql为数据源方式。

report_max_count:每页数据可以显示的最大行数。

report_data_source:传入的数据源集合Collections 使用于javaBeans方式。

jaspre_report:可能是JasperReport类的实例(待验证).

如果直接用sql为数据源$P{}的用法可以为: selec t.* from tb_stock_project t where t.name = $P{parameterName};

可以在程序中直接传sql语句的参数如:map.put("sql","where t.name="+parameterName);

那么当直接用sql语句做数据源的方式可以写为:select t.* from tb_stock_project $!P{sql};

3.2)$V{variableName}的含义。 比如你要定义一个变量用于统计$F{balance}这一列的数据的sum值名为 $V{balanceTotal}


新增变量$V,参数$P,字段$F只需在 相应节点鼠标右键选新增即可。

对于要满足$V{balanceTotal}变量用于对$F{balance}列数据进行统计的这个要求,要考虑变量的其他几个属性。



这里注意:Calculation(计算),Reset type,Variable Expression几个属性。

如上图:Variable Expression=$F{balance} 变量$V{balanceTotal}用于对字段$F{balance}进行操作。

Calculation可有的值:


Calcuation=sum 表示用于统计$F{balance}字段每列数据的和。 其它顾名思义。

Reset type用于:确定数据统计的范围。可有的值:


reset type=report 表示统计范围包括所有导出$F{balance}字段每列数据的集合。

reset type=group 针对到每个组,reset type=page针对每页统计统计。

3.3)$F{fieldName}就是用于显示数据的字段名称。

如果是sql作为数据源如select t.id,t.name,t.project_code from tb_stock_project t

那么$F{}可有的值为$F{id},$F{name},$F{project_code}

如果是javaBean作为数据源如:class MyBean { private int id ;private String name; private Stirng projectCode;}

那么$F{}可有的值为$F{id},$F{name},$F{projectCode}

4.ireport的深入探讨。

4.1)如何自定义new Style用于个性化显示jasperreport报表。

4.2)javaBeans做数据源时对Bean类的要求。

public class MyBean{

private String id;

private String name;

private String projectCode;

public static List<MyBean> createBeanCollection(){

MyBean myBean=null;

List<MyBean> MyBeans= new ArrayList<MyBean>();

for(int i=0;i<10;i++){

myBean= new MyBean ();

myBean.setId(i);

myBean.setName("name"+i); myBean.setProject("projectCode"+i);

MyBeans.add(myBean);

}

return MyBeans;

}

}

在使用javeBeans作数据源时对进行报表设计的bean类ireport要求提供createBeanCollection方法以提供模拟数据。

4.3)组group的灵活使用。

4.4)ireport的子报表。ireport中功能最强大的组件。subReport:使用它可以达到的效果。

数据分类显示如:

大类1-小类1

大类1 大类1-小类2

等。

4.5)其他。

更多文章请看
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: