重读The JasperReports Ultimate Guide1.0的收获

1:内置参数, JasperReports有一些内置参数如REPORT_PARAMETERS_MAP,REPORT_CONNECTION,
REPORT_DATASOURCE,REPORT_SCRIPTLET等主要是用来在子报表使用时传给子报表用.以前一直没注意这些.对于数据源的那个在写子报表的例子时用过,自己没太注意而已,今天试了下参数.在Parameters Map Exception 中写$P{REPORT_PARAMETERS_MAP}可以直接在子表中使用父表里的参数.

2.对于参数和变量都有个表示计算时机的属性Evaluation time.对于那些要在整个报表都计算完计算完才能得到的参数如果我门想在前面使用就可以使用这个属性.IReport向导里的总页数就是这个属性的一个应用.还有若我们想在前面显示统计数据的合计,就可以把那个属性在报表中显示的Text的属性为report,这样就可以在数据显示前显示合计值了.

3.数据源.有几个默认的实现竟然不知道,傻到自己按demo里webapp例子里的写了个实现.晕.
       (1)对于JREmptyDataSource可以指定它的虚拟的记录的个数来控制detail中数据的显示次数.
          (new JREmptyDataSource(10),这是写了10个的例子)
       (2)

----------------------------------------------------
2005.12.30
---------------------------------------------------
报表数据一章:
1.对于参数和变量可以使用自定义的数据类型,但是对于field只能使用他给定的数据类型,但是文档给了一个解决方法就是把自定义的field类型定义为Object类型,在具体使用的时候在把他转化为他自己的类型,不过不必确保这个类能在填充时可以在类路径中找到这个类.
2.子报表
子报表的参数传递有两种方式,一种是通过<parametersMapExpression>来map传递一组参数,一种是通过<subreportParameter>来传递单个的参数,两个可以同时使用.在填充时,报表引擎会把通过<subreportParameter>来传递单个的参数添加到<parametersMapExpression>的map中,如果有参数名称一样的话,会以<subreportParameter>来传递单个的参数为准.
这里还有一个要注意的是:由于报表引擎会影响传递的参数map(因为传的是引用的缘故吧),所以在用<parametersMapExpression>向子报表中传递参数时建议把它封在一个新的map中传递,这样就会避免不必要的麻烦.可以用这样一种方法:
<parametersMapExpression>
     new HashMap($P{REPORT_PARAMETERS_MAP})
</parametersMapExpression>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值