在iReport中有三种类型的对象可以用来保存数据,它们分别是Fields、Parameters、Variables,这三种对象可以用再某些地方的Expression中,通过一定的逻辑在报表生成的时候动态的更改某些之,Fields、Parameters、Variables有类型的概念,它们的类型就是一个标准的java Object对象,要使用这三种类型的对象必须首先创建它,创建的方法就是在Report Inspector面板中选择其中的需要创建的右键--->添加,这样我们可以创建不同的对象,同时我们可以将其展开,对已经存在或者添加的字段、参数、或者变量进行管理,如下图所示,创建了一个test的参数。
选择相应的参数 ,右键,我们可以对其进行修改、删除该对象,接下来我们将对字段、参数、变量进行详细的讲解和学习。
一、字段(Fields)
Field在iReport中是专门用来组织记录,Field的创建有多种途径可以实现,我们可以根据在iReport中各种类型的数据源哎创建我们所需要的Field。
1.1、手动创建Field
在reportinspector面板中选中【Fields】右键添加Field,如下图所示,创建好之后,在右侧会显示该Field所有的属性,我们可以对其进行修改和选择。
一个Field有两个必填的属性:name和type和一个可选项的description,从iReport1.0.0开始,fields可以使任何java数据类型,这样当我 们使用javaBean作为数据源时我们可以很方便的从java.langObject向报表中的Field的转换工作,在对象的Expression里你可以使用下面的语法引用一个Field:
$F{field name}
比如,如果想处理com.saihu.test.domain.Person Bean里的username字段,可以这样去写:
((com.saihu.test.domain.Person)${username})
1.2、使用SQL Query来创建Field
在iReport的设计中,使用SQL Query的方式来创建或者记录字段是使用最广泛的也是最直接最简单的一种方式,做此操作我们需要首先打开ReportQueryDialog窗口(在report inspector面板中选择reportDemo右键---->report query),在reportQueryDialog窗口出现后,我们可以输入合适的SQL检索并创建Fields。