zoukankan      html  css  js  c++  java
  • jasperreport_填充Report Templates

    (一) 填充报表需要下面三样:

      (1) Report Templates(报表模板)

      (2)Parameters(参数)

      (3)Data source(数据源)

    (二)net.sf.jasperreports.engine.JasperFillManager类 用数字填充报表模板。这个类有几种方法填充报表模板:从输入流(input streams)或者直接从net.sf.jasperreports.engine.JasperReport 对象。输出的数据类型和模板要接受的类型是一样的。

    (三)net.sf.jasperreports.engine.util.JRLoader 工具类。得到这个模板,比如名字,然后构造以这个味名字的文档,再然后放在指定的地方。 但是报表填充管理类(report-filling manager)仅仅适用于最普通的情况。

    (四)JasperReports library完全忽视数据从何而来,这是JasperReports 父应用区提供这个数据和操作library生成的输出数据

     

    (五)作为数据源,有两种情况。一般工具(engine)和实现了net.sf.jasperreports.engine.JRDataSource接口的实例一起工作,当填充报表时,从中获取数据。

    net.sf.jasperreports.engine.JasperFillManager类有很多方法接受net.sf.jasperreports.engine.JRDataSource对象作为数据源。 另外的它有一个方法接受java.sql.Connection对象。代替被期待(expected)的数据源作为参数。因为报表经常使用来自关系数据库表中的数据。用户可以用SQl query得到报表说一句。在这个背后这个工具(engine)任然使用一个特殊的net.sf.jasperreports.engine.JRDataSource对象。这个是这个执行对调用程序是透明的。

      参数和数据源最主要的区别是:参数是被使用在报表内部计算展现的表达方式。数据源描绘列成虚拟表格的数据。工具(engine,哎这个实在不知道怎么翻译合适)使用这个在填充数据进程中华交互。

    (六) jasperreports 能利用任何应用数据,JRDataSource抽象类很容易实现,只有两个方法

        next(),在虚拟的表格数据中,它移动这个记录指针去下一个记录。

        getFieldValue(),在当前的数据源虚拟记录中,它重新为每一行得到值。

    (未完待续)

  • 相关阅读:
    vscode 前端好用插件汇总
    IE8和IE9下textarea滚动选中的问题
    javascript实现数字整数位每三位一个逗号分隔
    简单枚举(算法竞赛入门经典)
    拓扑排序(算法竞赛入门经典)
    七桥问题--欧拉(算法竞赛入门经典)
    走迷宫问题 算法竞赛入门经典
    ZOJ1008
    ZOJ1163
    HDU 1069 Monkey and Banana
  • 原文地址:https://www.cnblogs.com/yujianjingjing/p/2949987.html
Copyright © 2011-2022 走看看