`

ireport 报表中不同行不同的样式

    博客分类:
  • java
 
阅读更多

转载自:

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" 来操作(不同的版本菜单翻译的可能不太一样),我觉得用菜单操作也不错阿。
ireport,jasper之style(样式) - 我行我素 - 莫等闲
可以看到,"Style condition"中defualt是不能删除,其它的都可以调整,也就是说,只要需要,我们可以为一个style设置很多的样式条件,这样可以用许多的样式(颜色等格式)来显式数据行,譬如只要需要,我们可以用10中颜色来显式一个报表中的10行,每行一种颜色,每种颜色都不同。
添加查询select username from all_users;
预览结果如下图(按照需要实现颜色条的交替显式):
ireport,jasper之style(样式) - 我行我素 - 莫等闲


分享到:
评论

相关推荐

    iReport 报表、子报表、主从报表、合计、实例解析

    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 子报表技术可以帮助我们创建复杂的报表,实现多对一的数据展示问题。通过子报表技术,...

    IReport报表开发示例

    本示例提供了IReport报表样式和Java实现iReport报表功能的代码。 本示例主要描述了Action中利用JavaBean的方式实现IReport报表数据传递的写法,供刚接触IReport的朋友们参考。

    ireport 报表常见的问题解决方案

    解决方法是确保系统中安装了报表中使用的字体,并在 ireport 中正确引用。另外,也可以使用 PDF 兼容字体替换。 4.1.5 快速去掉上下左右边界 (界面优化) 为了改善报表的视觉效果,有时需要去除多余的边框。这...

    java+ireport报表开发实例

    iReport还支持子报表、交叉表、自定义函数、图表样式自定义等功能,满足复杂报表需求。例如,通过子报表可以将多个相关的小报表组合成一个大的报表,提高报表的组织性和可读性。 七、实际应用案例 在Java Web项目...

    ireport报表资料整理.chm

    ireport报表资料整理.chm ireport 报表 整理 chm java 个人学习收集网上资料辛苦整理而成

    JasperReport+iReport报表开发手册.pdf

    1. **报表设计**:使用iReport工具设计报表的布局和样式。这一步骤通常涉及定义报表头部、主体、脚部等各个部分,以及设置表格、图表等元素的样式。 2. **数据填充**:通过JasperReport填充数据。这一步骤需要数据...

    iReport报表制作完全教程.pdf

    内容预览: 第一章:认识 iReport (一)、下载 iReport 软件 ...(五)、设计第一个 iReport 报表 (六)、高级报表设计 第三章:程序设计运用在 iReport 上 (一)、检查所需的档案 (二)、写报表程序

    ireport报表参数传到子表步骤

    通过以上步骤,我们可以实现iReport中的主报表向子报表传递参数,从而实现动态的、基于参数的报表数据展现。在实际操作中,可能还会遇到如默认值设定、参数验证等更复杂的情况,但基本的传递流程和上述要点是不变的...

    iReport报表制作详解

    iReport是一款强大的报表设计工具,尤其在Java应用中被广泛使用。它允许开发者创建复杂的、交互式的报表,能够处理各种数据源,如SQL数据库、JDBC连接、XML数据等。本教程将深入探讨iReport的核心概念,帮助你掌握...

    ireport 报表例子

    【ireport 报表例子】是关于如何使用ireport工具创建和设计报表的实例教程,适合在MyEclipse集成开发环境中直接运行。ireport是一款基于Java的开源报表设计工具,它允许开发者通过直观的图形界面设计复杂的报表,...

    ireport 子报表,行合并实例

    在IReport中,我们可以通过以下步骤创建子报表: 1. 设计子报表:首先,你需要创建一个单独的报表模板作为子报表,包含所需的数据和布局。 2. 添加子报表到主报表:在主报表的设计界面中,选择“子报表”组件,然后...

    iReport报表开发指南

    iReport是一款强大的报表设计工具,它是JasperReports项目的一部分,专门用于创建复杂的、交互式的报表。JasperReport是一个开源的Java库,它允许开发者在各种应用程序中嵌入报表功能。本指南将深入探讨如何利用...

    iReport制作报表教程

    在本教程中,我们将深入探讨如何使用iReport与JasperReports协同工作,以实现高效、美观的报表制作。 首先,我们需要理解JasperReports的基础概念。JasperReports是一个开源的Java报表库,它允许开发者生成静态和...

    IReport报表制作详解

    在IReport中设计好报表模板后,需要将其编译为.JRXML文件,然后用JasperReport引擎进行填充和渲染。 五、图表制作 "JasperReport 与iReport 的配置与使用.mht"文件可能包含了关于图表制作的教程。IReport支持多种...

    本人实际项目开发中ireport报表实现实例

    在IT行业中,报表系统是企业信息化管理不可或缺的一部分,它能够帮助管理层进行数据分析,制定决策。ireport是一款强大的报表设计工具,特别适用于Java开发者,它基于JasperReports库,提供了直观的用户界面,使得非...

    iReport报表开发

    这些内容可能包括报表设计的基本步骤、自定义样式和格式、数据查询语句的编写、以及如何将报表集成到Java应用程序中。 【标签】:“源码 工具” “源码”标签暗示了这篇博文可能涉及到了iReport的源代码分析或者...

    完整的web+ireport报表源代码

    在这个完整的"web+ireport报表源代码"中,我们可以深入探讨这两者如何结合,以及它们在实际项目中的应用。 首先,让我们来了解一下iReport。iReport是一款开源的报表设计工具,它基于Java,主要用于创建...

Global site tag (gtag.js) - Google Analytics