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. <reportElementx="0"y="0"width="555"height="30"/>

  3. <textElementlineSpacing="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. <stylename="centeredText"hAlign="Center"vAlign="Middle"/>

  2. <stylename="boldCentered"style="centeredText"isBold="true"/>

  3. <stylename="backgroundStyle"style="boldCentered"

  4. fontName="Helvetica"pdfFontName="Helvetica-Bold"

  5. forecolor="lightGray"fontSize="90"/>

  6. <background>

  7. <bandheight="782">

  8. <staticText>

  9. <reportElementx="0"y="0"width="555"height="782"

  10. style="backgroundStyle"mode="Transparent"/>

  11. <textElementrotation="None"/>

  12. <text>

  13. <![CDATA[SAMPLE]]>

  14. </text>

  15. </staticText>

  16. </band>

  17. </background>



对背影图片的控制
Xml代码 收藏代码
  1. <background>

  2. <bandheight="391">

  3. <p_w_picpath>

  4. <reportElementx="65"y="0"width="391"height="391"/>

  5. <p_w_picpathExpressionclass="java.lang.String">

  6. <![CDATA["reports/company_logo.gif"]]>

  7. </p_w_picpathExpression>

  8. </p_w_picpath>

  9. </band>

  10. </background>



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

5.Report Expressions 例子如下
Xml代码 收藏代码
  1. <textField>

  2. <reportElementx="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. <variablename="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. <variablename="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. <groupname="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. <textFieldisStretchWithOverflow="true">

  2. <reportElementx="0"y="0"width="100"height="24"/>

  3. <textFieldExpressionclass="java.lang.String">

  4. <![CDATA[$F{lots_of_data}]]>

  5. </textFieldExpression>

  6. </textField>



9.<reportElement>设置位置

这个有很多属性,最常用的还是这样用,最好还是用FRAME布局更好一些
Xml代码 收藏代码
  1. <reportElementx="20"y="0"width="200"height="20"/>


隐藏重复的值
Xml代码 收藏代码
  1. <!--是否输出重复的值-->

  2. <reportElementx="56"y="0"height="20"width="164"

  3. isPrintRepeatedValues="false"/>

  4. <textFieldExpression>

  5. <![CDATA["Model: " + $F{model}]]>

  6. </textFieldExpression>

  7. </textField>