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(),在当前的数据源虚拟记录中,它重新为每一行得到值。

(未完待续)

原文地址:https://www.cnblogs.com/yujianjingjing/p/2949987.html