JasperReport学习札记6-JRXML的标签

原文源于: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的标签

时间: 2024-10-27 08:15:00

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

Git 学习笔记&lt;远程仓库与标签管理&gt; (四)

什么是远程仓库? 就像第一章介绍的那样,远程仓库可以储存你编写的所有源码和资源文件. 甚至也可以当网盘使,不过当然有很多契合git管理文本的特性. 下面就要以 github 为示例远程仓库进行介绍.  (也可以自己弄一台服务器作远程仓库). 创建仓库 在主页找到 +New repository 或者右上角的加号里有.输入名字 描述 然后没钱只能public就能确定了.然后呢,点名字打开你的仓库.(主页右下角可以找到) 关于与远程仓库的连接 首先你打开你的保险箱得先证明身份吧,不然我怎么知道你是客

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

1.使用环境 很多时候我们用的是官网的解压免安装版的Tomcat,相比安装Tomcat除了少了安装步骤以外还少了tomcat6w.exe运行所需要的环境变量,所以一般Java开发免安装版的已经足够使用了,但是如果部署服务的时候我们不可能只运行startup.bat文件,我们需要新建一个服务并可以通过tomcat6w.exe启动和关闭服务. 2.无法运行tomcat6w.exe (1)提示错误: 运行tomcat6w.exe ,提示 指定的服务未安装 unable to open the serv

SQL菜鸟学习札记(一)

刚开始学SQL,从最基础的语句开始写,用一个LOL数据库做实验.目前使用的工具是MySQL Workbench,感觉比较顺手,界面没花多久时间就读懂的差不多了,所以目前就使用这个工具来做SQL的学习了. (1)多条件查询,然后修改值.因为我这里是需要编辑原来是0值的行,所以多条件查询中使用的是 A = 0为条件搜索. 刚刚提到的0值行就是这个样子,刚开始Copy行的时候遇到了很奇葩的错误--有些行必须存在默认值才能将数据进行表与表之间的Copy和Paste,所以就给默认值放了个0值. (2)仔细

ThinkPHP学习(四)volist标签高级应用之多重嵌套循环

Action代码: public function index(){ $prod = I("get.prod_en"); $id = I("get.id", 0, "int"); if ($prod == ""){ $serviceProduct = array();//多重循环遍历的数组 //数据保存在两张表中,这里通过循环初始化$serviceProduct数组 $service = M("product_cla

Git学习笔记(8)——标签管理

本文主要记录的Git标签的作用.标签的多种创建方式,以及标签的删除,与推送,和使用GitHub的Fork参与别人的项目. 标签的作用 发布版本时,通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本.无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照.Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像,但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的. 创建标签 [email pro

【学习札记-类加载器】

个人学习整理,如有不足之处,请不吝指教.转载请注明:@CSU-Max 类加载器 简介 类加载器(class loader)用来加载 Java 类到 Java 虚拟机中.一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件).类加载器负责读取 Java 字节代码,并转换成 java.lang.Class类的一个实例.每个这样的实例用来表示一个 Java 类.通过此实例的 new

SpringMVC学习系列 之 表单标签

http://www.cnblogs.com/liukemng/p/3754211.html 本篇我们来学习Spring MVC表单标签的使用,借助于Spring MVC提供的表单标签可以让我们在视图上展示WebModel中的数据更加轻松. 一.首先我们先做一个简单了例子来对Spring MVC表单表单标签的使用有一个大致的印象,然后再结合例子对各个标签介绍一下如何使用. 1.首先,在com.demo.web.models包中添加一个模型TagsModel内容如下: package com.de

Informix学习札记

Informix学习札记: 一,启动关闭数据库脚本 启动:oninit 关闭:onmode -k 二,导入导出数据库 导出数据库 将数据库public_bak导出到目录/usr/informix/export中: $ dbexport public_bak -o /usr/informix/export 执行结束后,会在export目录下,生成一个pubic_bak.exp目录.此目录下,有数据库创建对象的语句及数据. $ pwd /usr/informix/export $ ls public

HTML&CSS基础学习笔记6-文本操作标签

文本也许是HTML里最常见的元素了,所以我们有必要对HTML的文本操作标签做下认识. 1. <em>,<i>内的文字呈现为倾斜效果: 2. <strong>,<b>内的文字呈现为加粗效果: 3. <b>,<i>只是单纯的为了让文本具有某种特殊样式,而<strong>,<em>不仅带有特殊样式,而且也表达了某种语义: 4. 在单纯的为了达到某种样式的情况下,建议使用不带有语义的标签. 体验如下:http://ww