`

JasperReport学习笔记6-JRXML的标签

阅读更多
1.<jasperReport>根元素包括很多属性pageWidth,pageHeight,leftMargin,rightMargin,topMargin,bottomMargin,orientation,whenNoDataType,isTitleNewPage,isSummaryNewPage

orientation表示是横着放,还是竖着放,默认是Portrait(横),也可以选Landscape(竖)

whenNoDataType表示页面没有信息的时候怎么办,默认是no pages,如果你想没有数据的时候也显示,就用AllSectionsNoDetail

isTitleNewPage表示每一页都是否显示标题,默认为false

isSummaryNewPage每一页都是否显示摘要,默认为false

pageWidth默认595,pageHeight默认842,leftMargin和rightMargin默认20,topMargin,bottomMargin都默认30

2.文本的属性控制
jasperreport有多种方式控制文本的属性
第一种,用<style>element控制,他的属性有
forecolor(前景色,就是文本)
backcolor(背景色)
hAlign(水平位置Center, Justified, Left, Right)
vAlign(垂直位置Bottom, Middle, Top)
border(边框1Point, 2Point, 4Point, Dotted, None, Thin)
borderColor(边框颜色)
padding(旁白,单位象素)
fontName(字体)
fontSize(字体大小)
isBold,isItalic,IsUnderline,isStrikeThrough(粗体,斜体,下画线,..)
lineSpacing(1_1_2, Double, Single行间距)
rotation(旋转,Left, None, Right,转的是90度)
isStyledText(指示这个Element是否用Style,true,false)
isDefault(说明这个样式是否默认样式)
style(style支持继承)

第二种方法:在textElement里面控制属性,标签和上面一样
只是设置文件属性的位置

textAlignment(Center, Justified, Left, Right)
verticalAlignment(Bottom, Middle, Top)
有区别,style用的是hAlign,vAlign
<staticText>
 <reportElement x="0" y="0" width="555" height="30"/>
 <textElement lineSpacing="Double" textAlignment="center"
verticalAlignment="Middle"/>
 <text>
   <![CDATA[This text is not really important.]]>
 </text>
</staticText>

The <textElement> element is a sub-element of both <staticText> and <textField>

3.背景控制(background)
mode="Transparent"必须加上这个,背影用
<style name="centeredText" hAlign="Center" vAlign="Middle"/>
<style name="boldCentered" style="centeredText" isBold="true"/>
<style name="backgroundStyle" style="boldCentered"
fontName="Helvetica" pdfFontName="Helvetica-Bold"
forecolor="lightGray" fontSize="90"/>
<background>
  <band height="782">
    <staticText>
      <reportElement x="0" y="0" width="555" height="782"
style="backgroundStyle" mode="Transparent"/>
      <textElement rotation="None"/>
    <text>
    <![CDATA[SAMPLE]]>
    </text>
    </staticText>
  </band>
</background>


对背影图片的控制
<background>
 <band height="391">
  <image>
  <reportElement x="65" y="0" width="391" height="391"/>
   <imageExpression class="java.lang.String">
    <![CDATA["reports/company_logo.gif"]]>
   </imageExpression>
  </image>
 </band>
</background>


4.分组(group)
isStartNewPage,isStartNewColumn,isReprintHeaderOnEachPage,isResetPageNumber
这四个都是默认的false如果需要就设置成true
group必要有的子标签是groupExpression,可选择性的子标签是groupHeader,groupFooter

5.Report Expressions例子如下
<textField>
 <reportElement x="20" y="80" height="20" width="500"/>
 <textFieldExpression>
   <![CDATA["Total Aircraft Models Reported: " +
  ($F{fixed_wing_single_engine_cnt}.intValue() +
  $F{fixed_wing_multiple_engine_cnt}.intValue() +
  $F{rotorcraft_cnt}.intValue())]]>
 </textFieldExpression>
</textField>


6.Report Variables
因为Report Expressions可能会用到两次以上,就可以考虑
<variable name="fixed_wing_engine_cnt" class="java.lang.Integer">
 <variableExpression>
  <![CDATA[new Integer($F{fixed_wing_single_engine_cnt}.intValue() +
    $F{fixed_wing_multiple_engine_cnt}.intValue())]]>
 </variableExpression>
</variable>

这样,只要在里面调用
<textFieldExpression>
  <![CDATA["Total Fixed Wing Aircraft Models: " +
$V{fixed_wing_engine_cnt}]]>
</textFieldExpression>


Report Variables还可以做复杂的运算,从他的属性里面就看的出来
name(Variables名字)
class(类形,如java.lang.Integer)
calculation(计算方式,Average,Count,First,Highest,Lowest,Nothing,Sum,System,Variance)

resetType(Column,Group,None,Page,Report)重设的类型,一般用在Group一组
resetGroup(当重设的类型为Group的时候,就选择组名)

如下例子
<variable name="aircraft_count" class="java.lang.Integer"
calculation="Count" resetType="Group"
resetGroup="StateGroup">
 <variableExpression>
   <![CDATA[$F{aircraft_serial}]]>
 </variableExpression>
 <initialValueExpression>
  <![CDATA[new java.lang.Integer(0)]]>
 </initialValueExpression>
</variable>
<group name="StateGroup">
  ......
</group>
<!--使用的时候就用$V{aircraft_count}-->

7.Built-In Report Variables(默认,初始都有的变量)
$V{PAGE_NUMBER}(当前页),$V{COLUMN_NUMBER}(当前列),$V{REPORT_COUNT}(一共有多少条记录),$V{PAGE_COUNT}(一共有多少页),$V{COLUMN_COUNT}(一共有多少列)

8.对文字过多的适当调解
用这个,就可以适当调解了,设为TRUE
<textField isStretchWithOverflow="true">
    <reportElement x="0" y="0" width="100" height="24"/>
    <textFieldExpression class="java.lang.String">
    <![CDATA[$F{lots_of_data}]]>
    </textFieldExpression>
</textField>


9.<reportElement>设置位置

这个有很多属性,最常用的还是这样用,最好还是用FRAME布局更好一些
<reportElement x="20" y="0" width="200" height="20"/>

隐藏重复的值
<!--是否输出重复的值-->
<reportElement x="56" y="0" height="20" width="164"
isPrintRepeatedValues="false"/>
 <textFieldExpression>
   <![CDATA["Model: " + $F{model}]]>
 </textFieldExpression>
</textField>

分享到:
评论
6 楼 hpgyy 2009-08-25  
<div class="quote_title">langhua9527 写道</div>
<div class="quote_div">
<br>isTitleNewPage表示每一页都是否显示标题,默认为false <br><br>isSummaryNewPage每一页都是否显示摘要,默认为false <br><br>
</div>
<p> </p>
<p><span style="background-color: #fafafa;">这儿有误,应为:</span></p>
<p><span style="background-color: #fafafa;">isTitleNewPage:表示是否单独一页显示标题,默认为false,为true则报表第一页仅显示为标题 </span></p>
<p><span style="background-color: #fafafa;">isSummaryNewPage 表示是否单独一页显示汇总,默认为false,为true则表示汇总在报表最后另起新的一页显示</span></p>
5 楼 longlongriver 2009-06-23  
我直接用的iReport,直接编辑jrxml文件太麻烦了,也不只管,对复杂报表来说这几乎是不可能的任务,首先就个位置点就能把人整疯!
4 楼 dellsoft 2009-06-19  
具体参看
http://dynamicjasper.sourceforge.net/
3 楼 langhua9527 2009-06-06  
其实我都是用iReport设计的。
2 楼 langhua9527 2009-06-06  
dellsoft 写道
建议直接用djasper,对jasperreport的 封装。用代码就可以搞定jasperreport设计。

djasper是啥子东西,介绍一下啥
1 楼 dellsoft 2009-06-06  
建议直接用djasper,对jasperreport的 封装。用代码就可以搞定jasperreport设计。

相关推荐

    Jasperreport+ireport学习笔记1

    ### Jasperreport与iReport整合开发Web报表学习笔记 #### 一、环境配置 为了能够顺利地使用Jasperreport和iReport进行报表设计与开发,首先需要确保开发环境配置正确。 1. **Java JDK环境**: 确保已安装最新版的...

    jasperreport 自学笔记

    **JasperReport自学笔记** JasperReport是一款强大的开源报表工具,广泛应用于Java应用程序中,用于生成复杂的静态和动态报表。它的灵活性和可扩展性使得开发者能够轻松地设计和打印各种类型的报表,包括表格、图表...

    Jasperreport+ireport学习笔记(1).rar

    1. **报表模板(JasperReport File)**:报表的蓝图,用JRXML格式定义,包含报表的布局、样式、数据源等内容。 2. **数据源(DataSource)**:报表的数据来源,可以是数据库连接、Java集合、XML文件等。 3. **字段...

    jasperreport笔记1

    而"Jasperreport+ireport学习笔记(1).pdf"很可能是作者个人学习JasperReports和IReport的心得体会,可能会包含实战操作步骤、常见问题解决方案以及一些个人技巧分享。 综合以上信息,JasperReports的学习内容可能...

    jasperreoprt+ireport学习笔记.rar

    "jasperreoprt+ireport学习笔记"提供了关于这两个工具的详细教程,涵盖从基础到高级的各个方面,包括安装配置、报表设计、数据绑定、动态内容生成等内容,适合初学者和有经验的开发者参考学习。 通过深入学习和...

    JasperReport + IReport 开发文档

    2. **这几天在弄ireport.doc**:可能是个人的学习笔记,记录了作者使用IReport时的经验和技巧。 3. **JasperReport初级教程(2_0_3)图文详解_绝对原创 - 川江号子_cn - CSDN博客.mht**:针对JasperReport的基础教程,...

    jasperreoprt+ireport学习笔记3

    《jasperreport+ireport学习笔记3》是关于企业级报表工具JasperReport与iReport深度结合使用的进阶教程。这两个工具在IT行业中被广泛应用于Web报表的开发,提供了强大的数据可视化和报告生成能力。 JasperReport是...

    export_jasperReport.zip

    《jasperReport报表引擎学习资料》 在信息技术领域,报表引擎是不可或缺的一部分,它负责将数据以各种形式呈现出来,帮助用户理解复杂的数据结构。jasperReport作为一个强大的开源报表引擎,广泛应用于Java环境中,...

    IREPORT配置与学习

    - 提供的文件"Jasperreport+ireport学习笔记(1-4).pdf"是逐步教程,覆盖了IREPORT的基础知识和高级技巧,建议逐个阅读,加深理解。 - "Ireport配置说明.pdf"详细解释了IREPORT的配置过程,对初学者尤其有帮助。 ...

    IReport详细帮助文档附带案例web案例

    - **jasperreoprt+ireport学习笔记1.pdf**:分享了作者的学习经验和技巧,有助于提升报表设计能力。 通过以上知识点的学习和实践,你将能够充分利用IReport在MyEclipse中创建出美观且功能丰富的报表,为你的业务...

    ireport教程【经典2】

    【压缩包内容】:jasperreport+ireport学习笔记1.pdf是压缩包内的主要资料,这份PDF文档可能是对iReport使用技巧的详细讲解,涵盖了从安装配置到实际操作的全过程。 以下是iReport的一些关键知识点: 1. **安装与...

    JasperReports研究笔记

    报表设计文件通常以`.jrxml`格式存储,这是一种XML文件,可以被编译成JasperReport能识别的字节码文件(`.jasper`)。 3. **数据源与查询** JasperReports支持多种数据源,如JavaBeans、数据库连接(JDBC)、CSV...

Global site tag (gtag.js) - Google Analytics