父元素名称
元素名称 属性名称
含义
元素出现次数
取值类型
根元素
jasperReport
模板根元素
1
<property>,
<reportFont>,
<parameter>,
<queryString>
,<field>,
<variable>,
<group>,
<background>,
<title>,
<pageHeader>,
<columnHeader>,
<detail>,
<columnFooter>,
<pageFooter>,
<summary>
jasperReport
name
模板名称
必须的属性
NMTOKEN
columnCount
每页的列数
1
NMTOKEN默认值为1
printOrder
如果一页多于一列时,指定填充数据的方向
1
Vertical 或者 Horizontal默认为vertical
pageWidth
页面宽度
1
NMTOKEN默认值为595
pageHeight
页面高度
1
NMTOKEN默认值为842
columnWidth
列宽度
1
NMTOKEN默认值为555
columnSpacing
列间距
1
NMTOKEN默认值为0
leftMargin
页面做边距
1
NMTOKEN默认值为20
rightMargin
页面右边距
1
NMTOKEN默认值为20
topMargin
页面上边距
1
NMTOKEN默认值为30
bottomMargin
页面下边距
1
NMTOKEN默认值为30
whenNoDataType
当页面上没有数据时处理方式如果选择noPages系统会提示没有页面,如果选择BlankPage会显示一页空的页面,如果选择allSectionNoDetial则会显示除Detail段之外的所有部分
1
NoPages 或BlankPage 或AllSectionsNoDetail默认为NoPages
isTitleNewPage
Title部分是否在单独的一页显示
1
True或者false默认为false
isSummaryNewPage
Summary部分是否在单独的一页显示
1
True或者false默认为false
scriptletClass
数据填充过程中执行的Java代码
可有可无
NMTOKEN
orientation
打印方向
1
Portrait或者 Landscape默认为"Portrait"
jasperReport
property
定义property元素
0次或多次
空元素
property
name
属性名
必须
CDATA
value
属性值
可有可无
CDATA
reportFont
定义模板中的字体
0次或多次
空元素
reportFont
name
定义引用名称
必须
name
isDefault
该字体是否是该模板的默认字体
1
true 或者 false默认为"false"
fontName
字体的名称
1
CDATA 默认为"sansserif"
size
字体大小
1
NMTOKEN默认为 "10"
isBold
字体是否为粗体
1
true 或者 false默认为"false"
isItalic
字体是否为斜体
1
true 或者 false默认为"false"
isUnderline
字体是否加下划线
1
true 或者 false默认为"false"
isStrikeThrough
isStrikeThrough
1
true 或者 false默认为"false"
pdfFontName
PDF字体名字
1
CDATA默认为Helvetica
pdfEncoding
PDF字体编码方式
1
CDATA默认为CP1252
isPdfEmbedded
PDF字体是否嵌入到PDF文档中
1
true 或者 false默认为"false"
Parameter
模板中的参数定义
0次或者多次
<parameterDescription>, <defaultValueExpression>
Parameter
name
参数名
必须
NMTOKEN
class
参数值类型
1
NMTOKEN默认为“java.lang.String”
isForPrompting
用在图形界面中提示用户输入参数信息
1
true 或者 false默认为"false"
Parameter
parameterDescription
Parameter 中的isForPrompting设置成“true”时,此字段的信息就是向用户提示的信息
0此或者1次
#PCDATA
Parameter
defaultValueExpression
在数据填充过程中,parameter 的值通过HaspMap传送,如果在填充中不向变量传送值,则此变量为null,但是如果定义了defaultValueExpression此变量的默认值就取此元素中的内容(此字段的值当且仅当数据填充过程中没有向此变量传送值时有效)
0次或者1次
#PCDATA
jasperReport
queryString
数据填充过程中,如果数据参数是连接池对象(Connection)则执行此SQL语句进行取数据
0次或者1次
#PCDATA
jasperReport
field
查询结果目标列字段名称定义
0次或者多次
<fieldDescription>
field
name
参数名
必须
NMTOKEN
class
参数值类型
1
(java.lang.Object | java.lang.Boolean | java.lang.Byte | java.util.Date | java.sql.Timestamp | java.sql.Time | java.lang.Double | java.lang.Float | java.lang.Integer | java.io.InputStream | java.lang.Long | java.lang.Short | java.math.BigDecimal | java.lang.String)默认为“java.lang.String”
field
fieldDescription
???
0次或者1次
#PCDATA
jasperReport
variable
变量定义。系统中还有一些内嵌的变量:PAGE_NUMBER:页号码(可以是页码也可以是页数,通过TextField的计算时间的不同值来设置)
COLUMN_NUMBER:列号码
REPORT_COUNT:当前文档中数据源记录数目
PAGE_COUNT:当前页面中记录的数目
COLUMN_COUNT:当前列中记录的数目
GroupName_COUNT:当前组中记录的数目
0次或者多次
<variableExpression> <initialValueExpression>
variable
name
参数名
必须
NMTOKEN
class
参数值类型
1
NMTOKEN默认为“java.lang.String”
resetType
变量被重新初始化的类型,如果为none则变量的值为<variableExpression>中计算的值而永远不会重新初始化;如果为Report,则变量只初始化一次,当且仅当数据填充过程的开始,其值为<initialValueExpression>计算的值;当为Page类型时,变量的值会在每页开始时重新初始化;当为Column时,变量会在每列开始的时候重新初始化;当为Group时,变量5会在resetGroup指定的Group间断处初始化。
1
(None | Report | Page | Column | Group) 默认为"Report"
resetGroup
当且仅当ResetType设置为Group时,此字段有效,
可有可无
CDATA
calculation
变量的计算类型,如果为Nothing,则变量的值就是变量表达式的值;如果为Count,此变量的类型为数字类型,它计算的是数据源迭代过程中,<variableExpression>内元素内容不为null的数据总和;如果为Sum则此变量计算<variableExpression>内返回数据的总和;如果为Average则返回平均数;如果为Highest或者Loweset则返回数据源记录中此变量所计算的最大或最小值;如果为System则此变量的值是程序员通过ScriptClass指定的java类来计算。
1
(Nothing | Count | Sum | Average | Lowest | Highest | StandardDeviation | Variance | System) 默认为"Nothing"
incrementerFactoryClass
实现JRIncrementerFactory接口的Java类
可有可无
NMTOKEN
variable
variableExpression
变量所计算值的表达式
0次或者1次
#PCDATA
variable
initialValueExpression
变量的初始值
0次或者1次
#PCDATA
jasperReport
group
定义模板的group,group中的数据是连续的一系列数据,分组是通过GroupExpression来指定的。模板中可以有很多组,但是这些组是有顺序的,它们之间有包含关系,当一个大组结束时,其包含的小组会重新初始化(分组仅当数据源已经用GroupExpression字段对数据进行排序后有效,如果没有用指定的字段排序则显示结果并不是希望得到的结果)。
0次或者多次
<groupExpression>, <groupHeader>, <groupFooter>
group
name
组名称
必须
NMTOKEN
isStartNewColumn
当新的组开始时,是否在新的一列开始
1
true 或者 false默认为"false"
isStartNewPage
当新的组开始时,是否在新的一页开始
1
true 或者 false默认为"false"
isResetPageNumber
当新的组开始时,是否重置PageNumber变量
1
true 或者 false默认为"false"
isReprintHeaderOnEachPage
是否在每页都打印头信息
1
true 或者 false默认为"false"
minHeightToStartNewPage
如果isStartNewPage设置成false但是当页面剩余高度小于一个值后要重新开始一页,此属性就是指定这个最小高度值
1
NMTOKEN默认值为 "0"
Group
groupExpression
分组字段值
0次或者1次
#PCDATA
Group
groupHeader
分组头部分
0次或者1次
<band>
Group
groupFooter
分组尾部分
0次或者1次
<band>
jasperReport
background
背景部分
0次或者1次
<band>
jasperReport
title
标题头部分
0次或者1次
<band>
jasperReport
pageHeader
页眉部分
0次或者1次
<band>
jasperReport
columnHeader
Column头部分
0次或者1次
<band>
jasperReport
detail
0次或者1次
<band>
jasperReport
columnFooter
Column尾部分
0次或者1次
<band>
jasperReport
pageFooter
页脚部分
0次或者1次
<band>
jasperReport
summary
总结部分
0次或者1次
<band>
groupHeader
goupFooter background title <pageHeader><columnHeader>
<detail>
<columnFooter> <pageFooter><summary>
<band>
模板的一段
0次或者1次
printWhenExpression?, (line | rectangle | ellipse | image | staticText | textField | subreport | elementGroup)*)
<Band>
height
段高度
1
NMTOKEN 默认值为0
isSplitAllowed
是否可以分离
???
1
true 或者 false默认为" true"
<Band>
<line>
直线元素
0次或者多次
reportElement, graphicElement?
<line>
direction
直线的方向,
1
TopDown 或者 BottomUp 默认为"TopDown"
<line>
<rectangle>
<ellipse> <image> <staticText> <textField> <subreport>
<reportElement>
1
<printWhenExpression>
<reportElement>
key
可有可无
NMTOKEN
positionType
当页面元素(TextField或StaticText)允许拉伸影响本元素的位置时,此元素的定位方式
1
(Float | FixRelativeToTop | FixRelativeToBottom) "FixRelativeToTop"
stretchType
图形元素延伸状态
1
(NoStretch | RelativeToTallestObject | RelativeToBandHeight) "NoStretch"
isPrintRepeatedValues
是否打印重复数据
1
true 或者 false默认为"false"
mode
透明设置
可有可无
(Opaque | Transparent)
x
此元素相对于此元素所在段左上脚的X坐标
必须
NMTOKEN
y
此元素相对于此元素所在段左上脚的Y坐标
必须
NMTOKEN
width
元素的宽度
必须
NMTOKEN
height
元素的高度(象素为单位),允许拉伸时,高度会动态变化
必须
NMTOKEN
isRemoveLineWhenBlank
当数据为空时,是否消除此行数据
1
true 或者 false默认为"false"
isPrintInFirstWholeBand
在每页的第一段,此元素是否都出现
1
true 或者 false默认为"false"
isPrintWhenDetailOverflows
当一页不能容下页面元素内容时,是否在其他页重新打印此元素
1
true 或者 false默认为"false"
printWhenGroupChanges
可有可无
CDATA
forecolor
前景色
可有可无
CDATA
backcolor
背景色
可有可无
CDATA
<line>
<Rectangle>
<ellipse>
<image>
graphicElement
0或1
空元素
graphicElement
stretchType
图形元素延伸状态
可有可无
(NoStretch | RelativeToTallestObject | RelativeToBandHeight)
pen
边框线条粗细
可有可无
(None | Thin | 1Point | 2Point | 4Point | Dotted)
fill
线条填充方式
1
(Solid) "Solid"
<reportElement>
<printWhenExpression>
当且仅当此字段返回TRUE时,此元素才显示
0或1
#PCDATA
<band>
<Rectangle>
矩形框元素
0或多次
(reportElement, graphicElement?)
<Rectangle>
radius
矩形圆角半径
1
NMTOKEN 默认为"0"
<band>
<ellipse>
椭圆元素
0或多次
(reportElement, graphicElement?)
<band>
<Image>
图形元素
0或多次
(reportElement, graphicElement?, imageExpression?, anchorNameExpression?, hyperlinkReferenceExpression?, hyperlinkAnchorExpression?, hyperlinkPageExpression?)
<image>
scaleImage
当图片大小与指定图像元素大小不同时,怎样在图像元素中显示图片。
1
(Clip | FillFrame | RetainShape) "RetainShape"
hAlign
水平对齐方式
1
(Left | Center | Right) "Left"
vAlign
垂直对齐方式
1
(Top | Middle | Bottom) "Top"
isUsingCache
是否缓存图像
1
(true | false) 默认为"true"
evaluationTime
计算<imageExpression>中内容的时间
1
(Now | Report | Page | Column | Group) "Now"
evaluationGroup
evaluationTime为group时,此属性指定组名
可有可无
CDATA
hyperlinkType
超级链接类型
1
(None | Reference | LocalAnchor | LocalPage | RemoteAnchor | RemotePage) "None"
<image>
<imageExpression>
指定图像的源位置
0或1
#PCDATA
<imageExpression>
class
图像的类型
(java.lang.String | java.io.File | java.net.URL | java.io.InputStream | java.awt.Image) "java.lang.String"
<image>
<textField>
<anchorNameExpression>
锚名字(以被超级连接引用)
0或1
#PCDATA
<image>
<textField>
<hyperlinkReferenceExpression>
超级链接引用类型
0或1
#PCDATA
<image>
<textField>
<hyperlinkAnchorExpression>
超级连接锚类型
0或1
#PCDATA
<image>
<textField>
<hyperlinkPageExpression>
超级链接页面类型
0或1
#PCDATA
<band>
<staticText>
静态文本元素
0或多次
(reportElement, textElement?, text?)
<staticText>
<textField>
<textElement>
文本元素
1
(font?)
<textElement>
textAlignment
文本水平对齐方式
1
(Left | Center | Right | Justified) "Left"
verticalAlignment
文本垂直对齐方式
1
(Top | Middle | Bottom) "Top"
rotation
旋转方向
1
None | Left | Right) "None"
lineSpacing
???
1
(Single | 1_1_2 | Double) "Single"
isStyledText
???
1
(true | false) "false"
<textElement>
<Font>
文本中用到的字体
0或1
空元素
<Font>
reportFont
引用jasperReport中定义的字体名
可有可无
NMTOKEN
fontName
字体的名称
可有可无
CDATA 默认为"sansserif"
size
字体大小
可有可无
NMTOKEN默认为 "10"
isBold
字体是否为粗体
可有可无
true 或者 false默认为"false"
isItalic
字体是否为斜体
可有可无
true 或者 false默认为"false"
isUnderline
字体是否加下划线
可有可无
true 或者 false默认为"false"
isStrikeThrough
isStrikeThrough
可有可无
true 或者 false默认为"false"
pdfFontName
PDF字体名字
可有可无
CDATA默认为Helvetica
pdfEncoding
PDF字体编码方式
可有可无
CDATA默认为CP1252
isPdfEmbedded
PDF字体是否嵌入到PDF文档中
可有可无
true 或者 false默认为"false"
<staticText>
<Text>
静态文本框中的文本内容
0或1
#PCDATA
<band>
<textField>
动态文本框元素
0或多次
(reportElement, textElement?, textFieldExpression?, anchorNameExpression?, hyperlinkReferenceExpression?, hyperlinkAnchorExpression?, hyperlinkPageExpression?)
<textField>
isStretchWithOverflow
是否允许拉伸
1
(true | false) "false"
evaluationTime
字段值计算时间
1
Now | Report | Page | Column | Group) "Now"
evaluationGroup
如果evaluationTime为Group,则此属性指定组名
可有可无
CDATA
pattern
指定字段值的模式匹配
可有可无
CDATA
isBlankWhenNull
如果值为null,显示空白否
1
(true | false) "false"
hyperlinkType
超级连接类型
1
(None | Reference | LocalAnchor | LocalPage | RemoteAnchor | RemotePage) "None"
<textField>
<textFieldExpression>
字段值内容
0或1
#PCDATA
<textFieldExpression>
class
字段值类型
1
(java.lang.Boolean | java.lang.Byte | java.util.Date | java.sql.Timestamp | java.sql.Time | java.lang.Double | java.lang.Float | java.lang.Integer | java.lang.Long | java.lang.Short | java.math.BigDecimal | java.lang.Number | java.lang.String) "java.lang.String"
<band>
<Subreport>
0或多次
reportElement, parametersMapExpression?, subreportParameter*, (connectionExpression | dataSourceExpression)?, subreportExpression?)
<Subreport>
isUsingCache
是否缓冲子报表
1
(true | false) "true"
<Subreport>
<parametersMapExpression>
子报表参数变量
0或1
#PCDATA
<Subreport>
<subreportParameter>
子报表参数
0或者多次
(subreportParameterExpression?)
<subreportParameter>
name
子报表参数名称
必须
NMTOKEN
<subreportParameter>
<subreportParameterExpression>
子报表参数值
0或1
#PCDATA
<Subreport>
<connectionExpression>
子报表连接池值
0或1
#PCDATA
<Subreport>
<dataSourceExpression>
子报表数据源值
0或1
#PCDATA
<Subreport>
<subreportExpression>
子报表的位置
0或1
#PCDATA
<subreportExpression>
class
子报表位置类型(URL地址或者子报表名称)
1
(java.lang.String | java.io.File | java.net.URL | java.io.InputStream | dori.jasper.engine.JasperReport) "java.lang.String"
<band>
<elementGroup>
元素组
0或多次
(line | rectangle | ellipse | image | staticText | textField | subreport | elementGroup)*
作者:李建伟