主题:[转帖]Java报表软件参数强化之二
文章转自:http://finereport.blog.chinabyte.com/2010/10/12/120/
参数的强化通常是指定义数据集SQL语句如SELECT * FROM [TableName] WHERE [ColName] = ${para},其中${}中的内容为变量,[url=http://www.finereport.com/products]报表软件[/url]会将${}中的内容计算后形成字符串拼接至SQL中形成最终的可执行查询语句,发送到数据库端进行执行。${}中可以使用报表中的函数对参数进行处理,此即为参数的强化。
用户在使用[url=http://www.finereport.com/]Java报表[/url]软件进行部署时,常会需要用到参数强化,下面以FineReport[url=http://www.finereport.com/products]报表软件[/url]为例,简单介绍下参数与日期参数的格式化处理。
日期的表示形式有很多种,有时我们习惯填写的形式与数据库存储的形式可能不同,此时,就需要进行日期的格式化处理。比如,将“2010-02-24”形式的日期转化为“20100224”的形式。
1. 新建报表
2. 定义数据集
定义数据库查询,SQL语句为:SELECT * FROM SALES_BASIC WHERE 日期 = '${format(date,"yyyyMMdd")}'
参数date为日期如2010-02-24,对该日期按照yyyyMMdd进行格式化后作为最终的值赋给日期。
[img]http://www.finereport.com/forumimages/e238.png[/img]
3. 模板设计
如下设计报表
[img]http://www.finereport.com/forumimages/e239.png[/img]
4. 定义参数界面
点击参数设计,使用默认的参数界面,定义日期控件,返回值设置为日期,如下图
[img]http://www.finereport.com/forumimages/e240.png[/img]
5. 保存模板
保存模板,点击设计器分页预览,选择日期,查询数据如下
[img]http://www.finereport.com/forumimages/e241.png[/img]