第五章 BIRT文本类报表

本文详细介绍了BIRT报表系统中如何创建和使用文本类报表,包括基本的文本报表、交互式文本报表和利用文本进行导航栏数据的展示。通过实例展示了如何在报表中插入HTML、使用JavaScript脚本以及实现动态刷新和联动效果,以增强报表的交互性和视觉效果。
摘要由CSDN通过智能技术生成

5.1 基本的文本报表

我们构建一个报表ProductLinesAfter.rptdesign,使用示例数据库,空白模板,sql选择查询作为数据源,新建数据集Data Set

select *

from CLASSICMODELS.PRODUCTLINES

查询数据源资源管理器,注意到表PRODUCTLINES中有一个字段HTMLDESCRIPTIONCLOB字段的:

存储内容为html格式的字符文档,其中prodcutlineVintage Carshtmldescription如下:

<html>
<h4><font face="Verdana">Vintage Cars</font></h4><p>
<font face="Times New Roman">Our Vintage Car models realistically portray automobiles produced from the early</font> 
<b><font face="Arial" size="2">1900s</font></b> <font face="Times New Roman">through the</font> <b>
<font face="Arial" size="2">1940s</font></b>.<font face="Times New Roman"> Materials used include 
<i><b>Bakelite<sup>®</sup>, diecast, plastic and wood</b></i>. Most of the replicas are in the </font>
<b><font face="Arial" size="2">1:18</font></b> and <b>
<font face="Arial" size="2">1:24</font></b> <font face="Times New Roman">scale sizes, which provide the optimum in detail and accuracy. Prices range from</font> 
<i><b><font face="Arial" color="#009933" size="2">$30.00</font></b></i> up to <i><b>
<font color="#009933" face="Arial" size="2">$180.00</font></b></i> 
<font face="Times New Roman">for some <i><b>special limited edition replicas</b></i>. All models include a
<i><b>certificate of authenticity</b></i> from their manufacturers and <i><b>come fully assembled</b></i> and ready for display in the home or office.</font></p>

<font face="Times New Roman">

<u><b>Additional Information</b></u>
</font>
<ul>
	<li><font face="Times New Roman">No Toxic Materials</font></li>
	<li><font face="Times New Roman">Monogram Service Available</font></li>
	<li><font face="Times New Roman">Suitable for Children Above 10 Years of Age</font></li>
	<li><font color="#FF0000" face="Times New Roman"><i><b>90 Day Money Back Guarantee</b></i></font></li>
</ul>
</html>


 

布局报表:

插入一个13列的网格,其中第一列插入一个图片,为url嵌入的名为Classic-Models-Minimal-S.jpg,第二列插入一个标签,名为Product Lines,第三列插入一个名为Classic Models Inc的标签和一个无格式的动态文本701 Gateway Blvd,

South San Francisco, CA 94080

如下所示:

然后网格下方插入一个14列的表,合并页眉,插入标签Product Lines

详细数据行,第一列拖入dataSetRow["PRODUCTLINE"],第二列插入文本,选择HTML格式的动态文本,输入<H5><VALUE-OF>row["TEXTDESCRIPTION"]</VALUE-OF></H5>

第三列插入动态文本,输入row["HTMLDESCRIPTION"]

第四列插入图像,

作适当的布局和美化,效果如下:

web查看器中查看报表,运行效果如下:

这说明了我们可以在文本和动态文本中通过插入html格式的字符串来实现一些特效。

例如我们可以在中间插入一列文本,文本是html格式的,内容如下:

<html>
<script language='JavaScript' type='text/JavaScript'>
function printproduct(str){alert(str);}
</script>
<body>
<center>
<form>
<input type='button' value='单击可以获取行信息'  οnclick="alert('<VALUE-OF>row["PRODUCTLINE"]</VALUE-OF>:<VALUE-OF>row["TEXTDESCRIPTION"]</VALUE-OF>')">
</form>
<a href='' title='<VALUE-OF>row["TEXTDESCRIPTION"]</VALUE-OF>' οnclick="printproduct('<VALUE-OF>row["TEXTDESCRIPTION"]</VALUE-OF>')" ><b><i><u><VALUE-OF>row["PRODUCTLINE"]</VALUE-OF></u></i></b></a>
</center>
</body>
</html>


 

布局和预览分别如下:

把鼠标放在超链接上会有帮助文本出现,当然单击按钮和超链接一样可以获得产品线文本描述。

上面的一段html说明了,在文本中可以输入html,可以自定义javascript脚本,在需要行信息的时候,只需要加上[<VALUE-OF>列绑定</VALUE-OF>]即可,html在运行调用之前会把[<VALUE-OF>列绑定</VALUE-OF>]替换成一个不带引号的字符串常量。

这意味着我们可以在birt中编写网页,只要在需要数据集的地方插入数据集即可,这样我们可以编写丰富的文本类报表,比如会计凭证,信笺封面,信笺正文,甚至添加ajax特性。

5.2 交互式文本报表

下文详细说明标签,文本,动态文本,数据的差别。

标签只能插入文字,无法包含任何格式信息;

动态文本能把clob中的字符显示出来,如果clob字段包含HTML标签,则显示浏览器解释后的HMTL效果;

数据能把clob中的字符显示出来,如果clob字段中包含html标签,则连同标签一起显示出来,不区分是否为html文本;

而文本,对于clob</

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值