原文源于:http://langhua9527.iteye.com/blog/402317

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 name="code"><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" name="code"><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" 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 name="code"><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>

1 楼 dellsoft 2009-06-06   建议直接用djasper,对jasperreport的 封装。用代码就可以搞定jasperreport设计。 2 楼 langhua9527 2009-06-06   dellsoft 写道建议直接用djasper,对jasperreport的 封装。用代码就可以搞定jasperreport设计。
djasper是啥子东西,介绍一下啥
3 楼 langhua9527 2009-06-06   其实我都是用iReport设计的。 4 楼 dellsoft 2009-06-19   具体参看
http://dynamicjasper.sourceforge.net/ 5 楼 longlongriver 2009-06-23   我直接用的iReport,直接编辑jrxml文件太麻烦了,也不只管,对复杂报表来说这几乎是不可能的任务,首先就个位置点就能把人整疯! 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="">这儿有误,应为:</span></p>
<p><span style="">isTitleNewPage:表示是否单独一页显示标题,默认为false,为true则报表第一页仅显示为标题 </span></p>
<p><span style="">isSummaryNewPage 表示是否单独一页显示汇总,默认为false,为true则表示汇总在报表最后另起新的一页显示</span></p>

JasperReport学习札记6-JRXML的标签的更多相关文章

  1. BITED-Windows8应用开发学习札记之二:Win8应用常用视图设计

    感觉自我表述能力有欠缺,技术也不够硬,所以之后的Windows8应用开发学习札记的文章就偏向于一些我认为较难的地方和重点了多有抱歉. 上节课是入门,这节课就已经开始进行视图设计了. Windows应用 ...

  2. SpringMVC学习系列 之 表单标签

    http://www.cnblogs.com/liukemng/p/3754211.html 本篇我们来学习Spring MVC表单标签的使用,借助于Spring MVC提供的表单标签可以让我们在视图 ...

  3. SQL菜鸟学习札记(一)

    刚开始学SQL,从最基础的语句开始写,用一个LOL数据库做实验.目前使用的工具是MySQL Workbench,感觉比较顺手,界面没花多久时间就读懂的差不多了,所以目前就使用这个工具来做SQL的学习了 ...

  4. java学习札记

    java学习札记 0x0 学习原因  本来打算大三再去跟着课程去学习java的,但是现在题目越来越偏向java,所以迫于无奈开启了java的学习篇章,同时也正好写个笔记总结下自己学习一门语言的流程. ...

  5. Masonry学习札记

    Masnory学习札记 在之前的文章里有草草提到过Masonry自动布局,可这么重要第三方布局框架的怎么可以怎么随便带过呢!昨天在完成页面的时候刚好遇到了被Masorny功能惊叹的部分,所以趁热打铁写 ...

  6. Java 学习札记(三)免安装版TomCat中tomcat6w.exe的运行

    1.使用环境 很多时候我们用的是官网的解压免安装版的Tomcat,相比安装Tomcat除了少了安装步骤以外还少了tomcat6w.exe运行所需要的环境变量,所以一般Java开发免安装版的已经足够使用 ...

  7. 2.2.1 用户态、内核态的形成 -《zobolの操作系统学习札记》

    内核态的出现,让计算机系统的权力向操作系统高度集中了. 操作系统分出内核态和用户态,就是为了进行不同等级的权限管理, 从而更好的适应多用户多任务并发的工作环境. 用户态和内核态的来源 在早期的单进程单 ...

  8. 2.2 追求并发的极致-线程概论 -《zobolの操作系统学习札记》

    2.2 追求并发的极致-线程概论 为了追求程序运行之间的并发性,计算机科学家们发明了进程.为了进一步的追求进程内部的并发性,工程师们又提出了线程. 正是线程的出现,给予了程序员更多地操纵OS的自由,可 ...

  9. 2.1 动为进程,静为程序 -进程概论 -《zobolの操作系统学习札记》

    2.1 动为进程,静为程序 -进程概论 目录 2.1 动为进程,静为程序 -进程概论 问1:发明进程的原因? 问2:现在计算机中的进程的定义是什么? 问3:为什么进程跟处理器的联系更密切? 问4:进程 ...

随机推荐

  1. 背景图片自适应整个页面CSS+DIV

    <body style="overflow:hidden;"> <div class="wrapper"> <!--背景图片--& ...

  2. oracle列自增实现(1)-Sequence+Trigger实现Oracle列自增

    Sequence+Trigger实现Oracle列自增 序列的语法格式为: CREATE SEQUENCE 序列名 [INCREMENT BY n] [START WITH n] [{MAXVALUE ...

  3. Jackson序列化日期类型的属性

    @JsonProperty("BankSettlementDate") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = ...

  4. JavaSE入门学习7:Java基础语法之语句(下)

    继续接着Java基础语法来:JavaSE入门学习5:Java基础语法(一)和JavaSE入门学习6:Java基础语法(二). 语句 Java经常使用的3种循环:while.do...while,for ...

  5. 【DB2】设置表不记录日志,但是回滚导致表不可用报错:DB2 SQL Error: SQLCODE=-1477, SQLSTATE=55019, SQLERRMC=LEN.TMP;5;3, DRIVER=3.57.82

    今天在生产发现个问题,很多表报错:SQLCODE=-1477 后来线下模拟出这种场景 出现这个问题,此时对表做reorg.runstats都是无效的. 那么怎么来解决这个问题呢? 只能重建表解决问题

  6. 使用Kinect2.0控制VREP中的虚拟模型

    VREP中直接设置物体姿态的函数有3个: simSetObjectOrientation:通过欧拉角设置姿态 simSetObjectQuaternion:通过四元数设置姿态 simSetObject ...

  7. KVM安装和配置

    [未验证部分] kvm安装前检查 # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 ca ...

  8. 有关windows Gateway Ipsec 和NAT 兼容性问题

    1.简单通信拓扑: 将Windows 平台 作为一个网关,同一时候开启IPsec 和NAT来支持private和public的通信. 注意:IPSEC Gateway  和 Client1 Ipsec ...

  9. 使用自连接、for xml path('')和stuff合并显示多行数据到一行中(转)

    原文: http://njm.iteye.com/blog/795881 --使用 自连接.for xml path('')和stuff合并显示多行数据到一行中 --注 --1.计算列可以不用包含在聚 ...

  10. 【总结】java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格

    @Test public void test33() { String phoneString = "哈哈,13888889999"; // 提取数字 Pattern patter ...