转载自:http://blog.csdn.net/xingfeng0501/article/details/7756105

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代码   JasperReport学习笔记6-JRXML的标签_当前页
  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代码   JasperReport学习笔记6-JRXML的标签_当前页
  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代码   JasperReport学习笔记6-JRXML的标签_当前页
  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代码   JasperReport学习笔记6-JRXML的标签_当前页
  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代码   JasperReport学习笔记6-JRXML的标签_当前页
  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代码   JasperReport学习笔记6-JRXML的标签_当前页
  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代码   JasperReport学习笔记6-JRXML的标签_当前页
  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代码   JasperReport学习笔记6-JRXML的标签_当前页
  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代码   JasperReport学习笔记6-JRXML的标签_当前页
  1. <reportElement x="20" y="0" width="200" height="20"/>  

隐藏重复的值 
Xml代码   JasperReport学习笔记6-JRXML的标签_当前页
  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>  



转载自:http://langhua9527.iteye.com/blog/402317