- 浏览: 196920 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (183)
- struts1 (2)
- android (1)
- 工作总结 (15)
- java (23)
- 信息拓展 (10)
- linux (1)
- html5 (10)
- js基础 (9)
- 系统设计 (2)
- css dhtml (7)
- oracle sqlplus plsql (3)
- div+css (1)
- 面试试题 (1)
- java.ibatis (3)
- 项目开发 (2)
- oracle (10)
- eclipse (1)
- 自强之道 (1)
- velocity (1)
- 常用办公软件EXCEL WORD PPT (1)
- ORA-02298: 无法验证 (PNET.POST_CLOB_FK) - 未找到父项关键字 (1)
- ligerui (1)
- 业务系统 (0)
转载自:
http://lzfhope.blog.163.com/blog/static/6363992200810553754612/
ireport,jasper之style(样式)
2008-11-05 17:37:54| 分类: 计算机报表-Irepo | 标签: |字号大中小 订阅
有的时候你很希望显式的内容能够更丰富一些,例如不同的行具有不同的颜色,字体,不同的边框等等。这个就可以通过定义style 元素来实现。
关于style的dtd定义如下:(具体可以看http://jasperreports.sourceforge.net/dtds/jasperreport.dtd)(不过好像有些小问题,浏览器质疑它的合法性)
<!ELEMENT style (conditionalStyle*)>
<!ATTLIST style
name CDATA #IMPLIED
isDefault (true | false) "false"
style CDATA #IMPLIED
mode (Opaque | Transparent) #IMPLIED
forecolor CDATA #IMPLIED
backcolor CDATA #IMPLIED
pen (None | Thin | 1Point | 2Point | 4Point | Dotted) #IMPLIED
fill (Solid) #IMPLIED
radius NMTOKEN #IMPLIED
scaleImage (Clip | FillFrame | RetainShape) #IMPLIED
hAlign (Left | Center | Right | Justified) #IMPLIED
vAlign (Top | Middle | Bottom) #IMPLIED
border (None | Thin | 1Point | 2Point | 4Point | Dotted) #IMPLIED
borderColor CDATA #IMPLIED
padding NMTOKEN #IMPLIED
topBorder (None | Thin | 1Point | 2Point | 4Point | Dotted) #IMPLIED
topBorderColor CDATA #IMPLIED
topPadding NMTOKEN #IMPLIED
leftBorder (None | Thin | 1Point | 2Point | 4Point | Dotted) #IMPLIED
leftBorderColor CDATA #IMPLIED
leftPadding NMTOKEN #IMPLIED
bottomBorder (None | Thin | 1Point | 2Point | 4Point | Dotted) #IMPLIED
bottomBorderColor CDATA #IMPLIED
bottomPadding NMTOKEN #IMPLIED
rightBorder (None | Thin | 1Point | 2Point | 4Point | Dotted) #IMPLIED
rightBorderColor CDATA #IMPLIED
rightPadding NMTOKEN #IMPLIED
rotation (None | Left | Right | UpsideDown) #IMPLIED
lineSpacing (Single | 1_1_2 | Double) #IMPLIED
isStyledText (true | false) #IMPLIED
fontName CDATA #IMPLIED
fontSize NMTOKEN #IMPLIED
isBold (true | false) #IMPLIED
isItalic (true | false) #IMPLIED
isUnderline (true | false) #IMPLIED
isStrikeThrough (true | false) #IMPLIED
pdfFontName CDATA #IMPLIED
pdfEncoding CDATA #IMPLIED
isPdfEmbedded (true | false) #IMPLIED
pattern CDATA #IMPLIED
isBlankWhenNull (true | false) #IMPLIED
>
可以看到,大部分的元素其实都可以不需要定义.
通过dtd,可以看到,很多样的格式,比如为每个边框赋予不同的颜色,这样就可以让一个矩形框的四边都是不同的颜色(如果需要的话).
举例写个style如下:
<style
name="test_Font"
isDefault="true"
mode="Opaque"
forecolor="#FFFF00"
backcolor="#0000FF"
pen="Thin"
fill="Solid"
fontName="宋体"
fontSize="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="STSong-Light"
pdfEncoding="UniGB-UCS2-H (Chinese Simplified)"
isPdfEmbedded="false"
>
</style>
这是一个默认的style,如果在ireport界面,那么每个新放到页面上的元素(允许style)的都会设置style=test_Font,并能立即查看到效果。
需要什么效果,可以按照自己需求来定制。
还有一个问题:比如如何实现不同的行,有不同的背景颜色呢?
这个问题就需要用到有关 conditionalStyle的内容。
通过为Style元素指定conditionalStyle属性,可以控制什么时候才显式必要的Style,
还是以test_Font style为基础,新建立一个style 如下:
<style
name="back_Style"
isDefault="false"
style="test_Font"
>
<conditionalStyle>
<conditionExpression><![CDATA[new Boolean($V{REPORT_COUNT}.intValue()%2==0)]]>
</conditionExpression>
<style
isDefault="false"
mode="Opaque"
backcolor="#FF0000"
isBold="true"
>
</style>
</conditionalStyle>
</style>
这个style ,如果你熟悉xml和style格式,可以直接编辑xml文件,否则就使用菜单“格式化-styles" 来操作(不同的版本菜单翻译的可能不太一样),我觉得用菜单操作也不错阿。
可以看到,"Style condition"中defualt是不能删除,其它的都可以调整,也就是说,只要需要,我们可以为一个style设置很多的样式条件,这样可以用许多的样式(颜色等格式)来显式数据行,譬如只要需要,我们可以用10中颜色来显式一个报表中的10行,每行一种颜色,每种颜色都不同。
添加查询select username from all_users;
预览结果如下图(按照需要实现颜色条的交替显式):
关于style的dtd定义如下:(具体可以看http://jasperreports.sourceforge.net/dtds/jasperreport.dtd)(不过好像有些小问题,浏览器质疑它的合法性)
<!ELEMENT style (conditionalStyle*)>
<!ATTLIST style
name CDATA #IMPLIED
isDefault (true | false) "false"
style CDATA #IMPLIED
mode (Opaque | Transparent) #IMPLIED
forecolor CDATA #IMPLIED
backcolor CDATA #IMPLIED
pen (None | Thin | 1Point | 2Point | 4Point | Dotted) #IMPLIED
fill (Solid) #IMPLIED
radius NMTOKEN #IMPLIED
scaleImage (Clip | FillFrame | RetainShape) #IMPLIED
hAlign (Left | Center | Right | Justified) #IMPLIED
vAlign (Top | Middle | Bottom) #IMPLIED
border (None | Thin | 1Point | 2Point | 4Point | Dotted) #IMPLIED
borderColor CDATA #IMPLIED
padding NMTOKEN #IMPLIED
topBorder (None | Thin | 1Point | 2Point | 4Point | Dotted) #IMPLIED
topBorderColor CDATA #IMPLIED
topPadding NMTOKEN #IMPLIED
leftBorder (None | Thin | 1Point | 2Point | 4Point | Dotted) #IMPLIED
leftBorderColor CDATA #IMPLIED
leftPadding NMTOKEN #IMPLIED
bottomBorder (None | Thin | 1Point | 2Point | 4Point | Dotted) #IMPLIED
bottomBorderColor CDATA #IMPLIED
bottomPadding NMTOKEN #IMPLIED
rightBorder (None | Thin | 1Point | 2Point | 4Point | Dotted) #IMPLIED
rightBorderColor CDATA #IMPLIED
rightPadding NMTOKEN #IMPLIED
rotation (None | Left | Right | UpsideDown) #IMPLIED
lineSpacing (Single | 1_1_2 | Double) #IMPLIED
isStyledText (true | false) #IMPLIED
fontName CDATA #IMPLIED
fontSize NMTOKEN #IMPLIED
isBold (true | false) #IMPLIED
isItalic (true | false) #IMPLIED
isUnderline (true | false) #IMPLIED
isStrikeThrough (true | false) #IMPLIED
pdfFontName CDATA #IMPLIED
pdfEncoding CDATA #IMPLIED
isPdfEmbedded (true | false) #IMPLIED
pattern CDATA #IMPLIED
isBlankWhenNull (true | false) #IMPLIED
>
可以看到,大部分的元素其实都可以不需要定义.
通过dtd,可以看到,很多样的格式,比如为每个边框赋予不同的颜色,这样就可以让一个矩形框的四边都是不同的颜色(如果需要的话).
举例写个style如下:
<style
name="test_Font"
isDefault="true"
mode="Opaque"
forecolor="#FFFF00"
backcolor="#0000FF"
pen="Thin"
fill="Solid"
fontName="宋体"
fontSize="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="STSong-Light"
pdfEncoding="UniGB-UCS2-H (Chinese Simplified)"
isPdfEmbedded="false"
>
</style>
这是一个默认的style,如果在ireport界面,那么每个新放到页面上的元素(允许style)的都会设置style=test_Font,并能立即查看到效果。
需要什么效果,可以按照自己需求来定制。
还有一个问题:比如如何实现不同的行,有不同的背景颜色呢?
这个问题就需要用到有关 conditionalStyle的内容。
通过为Style元素指定conditionalStyle属性,可以控制什么时候才显式必要的Style,
还是以test_Font style为基础,新建立一个style 如下:
<style
name="back_Style"
isDefault="false"
style="test_Font"
>
<conditionalStyle>
<conditionExpression><![CDATA[new Boolean($V{REPORT_COUNT}.intValue()%2==0)]]>
</conditionExpression>
<style
isDefault="false"
mode="Opaque"
backcolor="#FF0000"
isBold="true"
>
</style>
</conditionalStyle>
</style>
这个style ,如果你熟悉xml和style格式,可以直接编辑xml文件,否则就使用菜单“格式化-styles" 来操作(不同的版本菜单翻译的可能不太一样),我觉得用菜单操作也不错阿。
可以看到,"Style condition"中defualt是不能删除,其它的都可以调整,也就是说,只要需要,我们可以为一个style设置很多的样式条件,这样可以用许多的样式(颜色等格式)来显式数据行,譬如只要需要,我们可以用10中颜色来显式一个报表中的10行,每行一种颜色,每种颜色都不同。
添加查询select username from all_users;
预览结果如下图(按照需要实现颜色条的交替显式):
发表评论
-
jasperreport不适用子报表实现中国式分组报表功能
2014-08-16 13:40 1370副标题: 单行统计报表中如何通过一列的值决定另一 ... -
优化功能点
2013-11-11 14:25 547今日优化XX反馈响应太慢的功能点: 1.成立采购小组选择用 ... -
开发常见报m(_ _)m
2013-09-11 12:00 717struts1 使用BeanUtils填充界面录入数据报 错 ... -
加载程序时不能正常启动,加载xml报错
2013-09-04 10:39 2163报错日志: Caused by: org.springfr ... -
字符编码优秀文章收集
2013-06-26 10:18 719http://www.ibm.com/devel ... -
数据库存储数据使用字符集与程序的无关
2013-06-21 11:24 8311.开发项目代码使用UTF-8 2.数据储存数据使用GB ... -
文件下载至内存溢出
2013-05-10 09:31 5083同事文章: 部分项目的文件下载处理方式如下: B ... -
ibatis 配置调用存储过程,jdbctype配置
2012-12-14 10:34 1826数据库存储过程如下: procedure p_pr ... -
ibatus 调用存储过程返回id值
2012-12-13 20:49 746public Integer generateItem ... -
去掉数组中的重复元素
2012-12-03 15:11 977/** * 返回不包含重复元素的数组 * ... -
解析用户输入的字符串,加入回车换行符
2012-11-10 12:35 2957用户要求界面显示要根据用户的输入格式显示,于是用了< ... -
LazyValidatorForm
2011-12-21 19:29 17421. private Map formObjGenera ... -
eclipse 不编译工程
2011-09-29 09:35 721网摘: eclipse出现不编译工程的现象。怎么刷 ... -
解决客户端页面刷新重复保存数据问题
2011-09-14 21:09 13851.用户点“保存”调用save()方法保存数据。 2.当用户 ... -
java 报表开发
2011-08-20 16:17 831《jasperreport 自定义java ... -
jasperreport自定义JRDataSource
2011-07-29 22:08 5266package com.sniper.report ... -
附件测试
2011-06-17 10:10 614附件测试 -
文件下载
2011-06-01 16:50 676BufferedInputStream bis = ne ... -
使用extremecomponents之妙
2011-06-01 15:25 1309<ec:table items="no ... -
程序异常处理
2011-04-12 13:51 7751.程序中异常处理(思路): 1.代码要处理try{} ...
相关推荐
iReport 报表、子报表、主从报表、合计、实例解析1. 开发使用步骤(iReport4.1)... 2 4.1. JasperReport 和iReport的介绍... 2 4.1.1. JasperReport 简介... 3 4.1.2. iReport 简介... 3 4.1.2.1. iReport几个重要...
在本文中,我们将通过 ireport 子报表技术,实现自有房产明细报表的行单元格合并问题。 iReport 子报表技术的优势 iReport 子报表技术可以帮助我们创建复杂的报表,实现多对一的数据展示问题。通过子报表技术,...
本示例提供了IReport报表样式和Java实现iReport报表功能的代码。 本示例主要描述了Action中利用JavaBean的方式实现IReport报表数据传递的写法,供刚接触IReport的朋友们参考。
解决方法是确保系统中安装了报表中使用的字体,并在 ireport 中正确引用。另外,也可以使用 PDF 兼容字体替换。 4.1.5 快速去掉上下左右边界 (界面优化) 为了改善报表的视觉效果,有时需要去除多余的边框。这...
iReport还支持子报表、交叉表、自定义函数、图表样式自定义等功能,满足复杂报表需求。例如,通过子报表可以将多个相关的小报表组合成一个大的报表,提高报表的组织性和可读性。 七、实际应用案例 在Java Web项目...
ireport报表资料整理.chm ireport 报表 整理 chm java 个人学习收集网上资料辛苦整理而成
1. **报表设计**:使用iReport工具设计报表的布局和样式。这一步骤通常涉及定义报表头部、主体、脚部等各个部分,以及设置表格、图表等元素的样式。 2. **数据填充**:通过JasperReport填充数据。这一步骤需要数据...
内容预览: 第一章:认识 iReport (一)、下载 iReport 软件 ...(五)、设计第一个 iReport 报表 (六)、高级报表设计 第三章:程序设计运用在 iReport 上 (一)、检查所需的档案 (二)、写报表程序
通过以上步骤,我们可以实现iReport中的主报表向子报表传递参数,从而实现动态的、基于参数的报表数据展现。在实际操作中,可能还会遇到如默认值设定、参数验证等更复杂的情况,但基本的传递流程和上述要点是不变的...
iReport是一款强大的报表设计工具,尤其在Java应用中被广泛使用。它允许开发者创建复杂的、交互式的报表,能够处理各种数据源,如SQL数据库、JDBC连接、XML数据等。本教程将深入探讨iReport的核心概念,帮助你掌握...
【ireport 报表例子】是关于如何使用ireport工具创建和设计报表的实例教程,适合在MyEclipse集成开发环境中直接运行。ireport是一款基于Java的开源报表设计工具,它允许开发者通过直观的图形界面设计复杂的报表,...
在IReport中,我们可以通过以下步骤创建子报表: 1. 设计子报表:首先,你需要创建一个单独的报表模板作为子报表,包含所需的数据和布局。 2. 添加子报表到主报表:在主报表的设计界面中,选择“子报表”组件,然后...
iReport是一款强大的报表设计工具,它是JasperReports项目的一部分,专门用于创建复杂的、交互式的报表。JasperReport是一个开源的Java库,它允许开发者在各种应用程序中嵌入报表功能。本指南将深入探讨如何利用...
在本教程中,我们将深入探讨如何使用iReport与JasperReports协同工作,以实现高效、美观的报表制作。 首先,我们需要理解JasperReports的基础概念。JasperReports是一个开源的Java报表库,它允许开发者生成静态和...
在IReport中设计好报表模板后,需要将其编译为.JRXML文件,然后用JasperReport引擎进行填充和渲染。 五、图表制作 "JasperReport 与iReport 的配置与使用.mht"文件可能包含了关于图表制作的教程。IReport支持多种...
在IT行业中,报表系统是企业信息化管理不可或缺的一部分,它能够帮助管理层进行数据分析,制定决策。ireport是一款强大的报表设计工具,特别适用于Java开发者,它基于JasperReports库,提供了直观的用户界面,使得非...
这些内容可能包括报表设计的基本步骤、自定义样式和格式、数据查询语句的编写、以及如何将报表集成到Java应用程序中。 【标签】:“源码 工具” “源码”标签暗示了这篇博文可能涉及到了iReport的源代码分析或者...
在这个完整的"web+ireport报表源代码"中,我们可以深入探讨这两者如何结合,以及它们在实际项目中的应用。 首先,让我们来了解一下iReport。iReport是一款开源的报表设计工具,它基于Java,主要用于创建...