使用ireport设计jasperreport报表模板

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 createBeanCollection(){
  MyBean myBean=null;
  List MyBeans= new ArrayList();
  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)其他。

 

你可能感兴趣的:(ireport学习)