您的位置:首页 > 编程语言 > ASP

iReport 和 Jasperreport整合开发web报表向导(2)

2008-04-25 12:16 465 查看
iReport Jasperreport整合开发web报表向导(2) 在上一篇文档里我们初步介绍了iReport和Jasperreport,基本上我们已经对它们有了一个最初的认识,在今天这篇文档里,我将深入的对iReport这个工具进行说明。 接着上篇文档的结尾,如果我们成功运行iReport的话,可以看到如下的主界面: 点击“新增” 按钮可以创建一个新的空报表,考虑到生成后的XML文件编辑的时候可以显示中文,请在xml encoding选项上GB2312(没有选项自己手动输入),如下图: 当设置玩必要的选项点击完成可以得到一个空白的报表,如下图: 好了,输入一段文本,很简单,点击创建“静态文本”按钮 ,然后在报表任何一个工作区(如title,pageheader,detail,pagefooter summary等等)输入,如输入“今天天气不错!”在属性框页可以对输入的内容进行属性控制,如字体,颜色,大小,以及其他的属性,报表中任何的元素(静态文本,线,框等等)都有自己的属性页,一般双击任何元素都可以弹出该元素的属性页,属性页如下图: 完工,一个最简单的报表就生成了,iReport配有运行环境,如下快捷按钮:左边的按钮是运行静态报表(无需数据库环境),右边的是运行动态报表(这时需要设置数据库连接,数据库的连接载下面介绍) 那么经过上遍的努力,很显然我们将要运行的静态报表,那么点击左边的按钮就可以看到下面的pdf,如图:当然上遍的例子是最简单,呵呵J 下面我将采用问答的方式进行逐步讲解iReport的用法1. 如何连接数据库?2. 如何定义变量、参数以及字段?3. 如何定义字体以及如何使用自定义的字体(如黑体、楷体或者比较艺术化的子体)?4. 如何执行SQL脚本进行查询?5. 如何把做好的报表引入到应用程序中? 好了,针对上面的问题,我在下面的篇幅中给于解答并穿插介绍iReport中其它的功能菜单。1. 如何连接数据库?静态的报表其实很少的,我在前一篇文档中有提到过一句经典的话:“A datasource + a jasper = a print”因此有必要首先介绍一下如何连接数据库,其实很简单进入Datasource/Connections/Datasources菜单或者点击 快捷按钮,则出现下面属性页:
进行必要的数据库连接属性配置,然后点击test按钮进行测试,如果提示测试成功,则保存数据库连接,即可。 2. 如何定义变量、参数以及字段?变量、参数以及字段的定义,在iReport里是比较方便的,在菜单view下可以看到一些控制点,如下图:Report properties 设置报表属性Report query 设置查询语句的,这个在下面有介绍Report fields设置字段(数据库)Report variables设置变量Report parameters设置参数Report fonts 设置字体顺便把下面的你个也说明一下Bands,弹出报表工作区(如title detail等)的属性页Report groups设置组 Element properties 元素属性页Element browser 显示报表所有元素的列表 设置很容易,但是在报表中引用这些变量、参数和字段就有写说头了,呵呵J,让我们一步一步慢慢来。在iReport中引用的方式,如下表元素名称引用变量variablesName$V{ variablesName }参数parameterName$P{ parameterName }字段filedsName$F{ filedsName }其实这些不说明好像不知道如何办,一单说明了,它们也是很好用的也很简单的。多用吧J 3. 如何定义字体以及如何使用自定义的字体(如黑体、楷体或者比较艺术化的子体)? 因为考虑到使用亚洲字体,因此你需要下在额外的jar包iTextAsian.jar,如果iReport下载包中含有此jar包,此步骤可免。 目前在iReport中使用中文字体,好像只有宋体一种,如果想用其它的字体(如黑体、楷体等)需要另外的方法,这在下面介绍,下面介绍如何使用常用的中文字体“宋体”的设置方法,在问题2中我们看到引入字体的选项,点击“Report fonts”可以看到下面属性页: 好,如上边的设置就已经设置好宋体,以后在报表的任何地方都可以引用该字体,如下面我们要把我们在上边的例子中的元素“今天天气不错!”改为用宋体,如下:这样只要我们在Report font选项中选中songti 那么下面的属性自动继承,呵呵,方便吧J好,下面讲述如何使用宋体以外的中文字体,如:黑体、楷体或其他的艺术化的字体。 也很简单,不过好像目前iReport的功能不够完美的缘故,还要手动修改xml文件才可以达到要求,如下图我们定义黑体:首先不同的是在PDF font name选项中选中External TTF font…,按照常理,此时要在紧接着的选项中选择黑体的ttf文件SIMHEI.TTF,可是不知为什么TrueType font的选项是空的,(当时我在学习的时候,这步操作让我好胜郁闷),天啊,该怎么办?! 后来我查看了相应的xml文件,如下:(由于文件较大,因此只截取我们关心的) <staticText> <reportElement mode="Opaque" x="13" y="42" width="239" height="53" forecolor="#000000" backcolor="#FFFFFF" positionType="FixRelativeToTop" isPrintRepeatedValues="true" isRemoveLineWhenBlank="false" isPrintInFirstWholeBand="false" isPrintWhenDetailOverflows="false"/> <textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single"> <font fontName="黑体" pdfFontName="" size="36" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="true" pdfEncoding ="Identity-H" isStrikeThrough="false" /> </textElement> <text><![CDATA[黑体]]></text> </staticText> 大家可以看到黑体的pdfFontName=””是空的,于是我尝试把系统黑体的TTF文件路径(C:WINNTfontsSIMHEI.TTF)写到这个地方,哈哈,居然成功了。于是我得到这样一个结论,目前如果你在报表中使用其它的字体,首先要做上面图中所做的属性设置,然后手动把字体的TTF文件写到pdfFontName=””,虽然麻烦了点,不过这招挺管用,呵呵J 今天就写到这里,下面没有说到的问题,各位先看看自己能不能解决,明天见,如果你还有其它的我没有提到的问题,可以留言给我,呵呵J 欢迎访问我的站点http://plateau.sicool.com Jplateau 2003年12月26日星期五 写于精博
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: