博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JasperReport学习笔记6-JRXML的标签
阅读量:5889 次
发布时间:2019-06-19

本文共 4621 字,大约阅读时间需要 15 分钟。

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 

Xml代码  
  1. <staticText>  
  2.  <reportElement x="0" y="0" width="555" height="30"/>  
  3.  <textElement lineSpacing="Double" textAlignment="center"  
  4. verticalAlignment="Middle"/>  
  5.  <text>  
  6.    <![CDATA[This text is not really important.]]>  
  7.  </text>  
  8. </staticText>  

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


3.背景控制(background)
 

mode="Transparent"必须加上这个,背影用 

Xml代码  
  1. <style name="centeredText" hAlign="Center" vAlign="Middle"/>  
  2. <style name="boldCentered" style="centeredText" isBold="true"/>  
  3. <style name="backgroundStyle" style="boldCentered"  
  4. fontName="Helvetica" pdfFontName="Helvetica-Bold"  
  5. forecolor="lightGray" fontSize="90"/>  
  6. <background>  
  7.   <band height="782">  
  8.     <staticText>  
  9.       <reportElement x="0" y="0" width="555" height="782"  
  10. style="backgroundStyle" mode="Transparent"/>  
  11.       <textElement rotation="None"/>  
  12.     <text>  
  13.     <![CDATA[SAMPLE]]>  
  14.     </text>  
  15.     </staticText>  
  16.   </band>  
  17. </background>  


对背影图片的控制 

Xml代码  
  1. <background>  
  2.  <band height="391">  
  3.   <image>  
  4.   <reportElement x="65" y="0" width="391" height="391"/>  
  5.    <imageExpression class="java.lang.String">  
  6.     <![CDATA["reports/company_logo.gif"]]>  
  7.    </imageExpression>  
  8.   </image>  
  9.  </band>  
  10. </background>  


4.分组(group)
 

isStartNewPage,isStartNewColumn,isReprintHeaderOnEachPage,isResetPageNumber 

这四个都是默认的false如果需要就设置成true 

group必要有的子标签是groupExpression,可选择性的子标签是groupHeader,groupFooter 


5.Report Expressions
例子如下 

Xml代码  
  1. <textField>  
  2.  <reportElement x="20" y="80" height="20" width="500"/>  
  3.  <textFieldExpression>  
  4.    <![CDATA["Total Aircraft Models Reported: " + 
  5.   ($F{fixed_wing_single_engine_cnt}.intValue() + 
  6.   $F{fixed_wing_multiple_engine_cnt}.intValue() + 
  7.   $F{rotorcraft_cnt}.intValue())]]>  
  8.  </textFieldExpression>  
  9. </textField>  


6.Report Variables
 

因为Report Expressions可能会用到两次以上,就可以考虑 

Xml代码  
  1. <variable name="fixed_wing_engine_cnt" class="java.lang.Integer">  
  2.  <variableExpression>  
  3.   <![CDATA[new Integer($F{fixed_wing_single_engine_cnt}.intValue() + 
  4.     $F{fixed_wing_multiple_engine_cnt}.intValue())]]>  
  5.  </variableExpression>  
  6. </variable>  

这样,只要在里面调用 

Xml代码  
  1. <textFieldExpression>  
  2.   <![CDATA["Total Fixed Wing Aircraft Models: " + 
  3. $V{fixed_wing_engine_cnt}]]>  
  4. </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的时候,就选择组名) 


如下例子 

Xml代码  
  1. <variable name="aircraft_count" class="java.lang.Integer"  
  2. calculation="Count" resetType="Group"  
  3. resetGroup="StateGroup">  
  4.  <variableExpression>  
  5.    <![CDATA[$F{aircraft_serial}]]>  
  6.  </variableExpression>  
  7.  <initialValueExpression>  
  8.   <![CDATA[new java.lang.Integer(0)]]>  
  9.  </initialValueExpression>  
  10. </variable>  
  11. <group name="StateGroup">  
  12.   ......  
  13. </group>  
  14. <!--使用的时候就用$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 

Xml代码  
  1. <textField isStretchWithOverflow="true">  
  2.     <reportElement x="0" y="0" width="100" height="24"/>  
  3.     <textFieldExpression class="java.lang.String">  
  4.     <![CDATA[$F{lots_of_data}]]>  
  5.     </textFieldExpression>  
  6. </textField>  

9.<reportElement>设置位置
 

这个有很多属性,最常用的还是这样用,最好还是用FRAME布局更好一些 

Xml代码  
  1. <reportElement x="20" y="0" width="200" height="20"/>  

隐藏重复的值 

Xml代码  
  1. <!--是否输出重复的值-->  
  2. <reportElement x="56" y="0" height="20" width="164"  
  3. isPrintRepeatedValues="false"/>  
  4.  <textFieldExpression>  
  5.    <![CDATA["Model: " + $F{model}]]>  
  6.  </textFieldExpression>  
  7. </textField>  

转载自:

转载于:https://www.cnblogs.com/programmer-wind/archive/2012/07/17/2919485.html

你可能感兴趣的文章
【232】◀▶ IDL显示地理图像
查看>>
【116】Windows 系统组合键
查看>>
学习进度表 04
查看>>
python---__getattr__\__setattr_重载'.'操作
查看>>
谈谈javascript中的prototype与继承
查看>>
时序约束优先级_Vivado工程经验与各种时序约束技巧分享
查看>>
nginx win 启动关闭_windows下nginx启动与关闭的批处理脚本
查看>>
minio 并发数_MinIO 参数解析与限制
查看>>
eap wifi 证书_用openssl为EAP-TLS生成证书(CA证书,服务器证书,用户证书)
查看>>
mysql 应用程序是哪个文件夹_Mysql 数据库文件存储在哪个目录?
查看>>
mysql半同步和无损复制_MySQL半同步复制你可能没有注意的点
查看>>
mysql能看见表显示表不存在_遇到mysql数据表不存在的问题
查看>>
使用mysql实现宿舍管理_JSP+Struts2+JDBC+Mysql实现的校园宿舍管理系统
查看>>
mysql alter 修改字段类型_MySQL ALTER命令:删除,添加或修改表字段、修改字段类型及名称等...
查看>>
mysql中的事务和锁_MySQL - 事务和锁中的互斥?
查看>>
mysql statement讲解_Statement接口详解
查看>>
mysql_print_default_知识点:MySQL常用工具介绍(十 二)——实用程序my_print_defaults、perror...
查看>>
mysql怎么会报错_MySQL启动报错怎么办?
查看>>
python编译exe用于别的电脑上_Python安装教程(推荐一款不错的Python编辑器)
查看>>
flash back mysql_mysqlbinlog flashback 使用最佳实践
查看>>