Adobe ColdFusion Reports(2)
上一篇随笔只是用报表向导生成了一个最简单的报表,数据都是从数据库中直接获取,我们知道,数据库中存储数据可能比实际显示要简洁,因此显示的数据格式等还需要进一步完善。
默认情况下,用报表向导生成的报表列标题使用的是查询的列名,我们可以通过更改Column Header对其进行修改。双击Column Header部分的值便可进行修改。
·LASTNAME -> Artist Name
·ARTNAME -> Title
·DESCRIPTION -> Description
·PRICE -> Price
·ISSOLD -> Sold?
ISSOLD字段存储的是”0/1”表示是否。我们需要将其转化为”Yes/No”,这样更加直观,毕竟用户可不想知道”0/1”分别表示什么意思。双击Detail中的query.ISSOLD单元格,调出Expression Builder. 找到Function -> Display and Formatting -> YesNoFormat, 双击,结果如图1. 单击OK. 设定完毕。
图 1
下面用同样的方法将PRICE字段格式化为带美元货币符号的数值。只需将原来的query.PIRCE改成DollarFormat(query.PRICE).
然后将组中的query.LASTNAME改为query.FIRSTNAME &” “&query.LASTNAME, 这样就可以显示艺术家的全名了。
下面我们进行分页处理,使每个艺术家的作品进行分页显示。操作很简单,只需要使用Report -> Group Management, 如图2.
图 2
前面提到过“组”的很大一个作用就是可以对该组进行摘要描述,比如我们在这里可以对每个艺术家的作品售出的价格进行汇总。
打开Fields and Parameters面板(可以通过菜单栏的Window -> Fields and Parameters打开)。并添加一个Calculated Field. 如图3.
图 3
在LASTNAME组的Footer添加一个新的字段,在弹出的Add Field对话框中选择calc.Sold, 别忘了对其进行美元货币符号格式化。此处注意是在LASTNAME组的Footer, 不要搞错位置。在刚才添加的字段前面添加一个标签”Total Sales”.
最后我们将报表头的”Company Name”替换为一个logo图片。删掉原来的文本框,加入一个Image控件,图片路径选择" C:\ColdFusion9\wwwroot\cfdocs\getting_started\photos\somewhere.jpg".
此时F12预览报表,效果如图4.
图 4
可以看到按照艺术家分组,每组一页,并且相应的汇总信息也正确的显示出来。
人每天要做三件事,第一件是微笑,第二件是欢笑,第三件是大笑。