多语言展示
当前在线:785今日阅读:75今日分享:44

jasperreports中文学习入门教程:[3]报表参数

jasperreports中文学习入门教程:[3]报表参数
工具/原料

jasperreports报表

方法/步骤
1

参数声明参数声明很简单,如下所示: name属性parameter>元素的name属性是强制性的。它通过名称引用的参数在报表表达式。参数名应该是一个单词。它不应该包含任何特殊字符,如句号或逗号。class属性class属性也是强制性的,它指定了参数值的类名。它的默认值是java.lang.String。这是可以改变的,以在运行时可用任何类。不论报表参数的类型,引擎采用构造于$P{}标记是用来报表表达,从而使手工投射不必要。

2

内置参数以下是预定义的报表参数,准备在表达式中使用:Parameter Name描述REPORT_PARAMETERS_MAP包含所有用户定义和内置参数映射REPORT_CONNECTION这指向用于JDBC数据源的用户提供java.sql.Connection中REPORT_DATA_SOURCE这是JRDataSource代表任一用户提供的实例中的内置的数据源类型或用户定义REPORT_MAX_COUNT这是一个java.lang.Integer的值,从而允许用户从数据源限制记录。REPORT_SCRIPTLET这指向net.sf.jasperreports.engine.JRAbstractScriptlet和包含报表的scriptlet,由用户提供的一个实例REPORT_LOCALE

3

这是一个java.util.Locale的实例,包含资源包所需的语言环境REPORT_RESOURCE_BUNDLE这指向java.util.ResourceBundle对象和包含本地化的消息REPORT_TIME_ZONE这是一个java.util.TimeZone的实例,用于日期格式REPORT_VIRTUALIZER这是net.sf.jasperreports.engine.JRVirtualizerobject一个实例,以及用于网页的虚拟化(优化内存消耗)REPORT_CLASS_LOADER这是在报告充填过程中使用的加载,如图像,字体和子报表模板资源java.lang.ClassLoader的实例IS_IGNORE_PAGINATION如果设置为java.lang.Boolean.TRUE报告将在一个很长的网页和分页符来产生不会发生

4

报表生成编译和执行使用常规Ant构建过程上面的文件。 build.xml文件中的内容(根据目录保存C:\tools\jasperreports-5.0.1\test)情况如下。导入文件 - baseBuild.xml可以从环境设置章节中了解,并应放置在同一目录中的build.xml。

5

            

6

                                                                                                                  

7

接下来,让我们打开命令行窗口并转到build.xml文件放置的目录。最后执行的命令 ant -Dmain-class=yiibai.JasperReportFill (viewFullReport是默认的目标),如下所示:

8

C:\tools\jasperreports-5.0.1\test>ant -Dmain-class=com.yiibai.JasperReportFillBuildfile: C:\tools\jasperreports-5.0.1\test\build.xml clean-sample:   [delete] Deleting directory C:\tools\jasperreports-5.0.1\test\classes   [delete] Deleting: C:\tools\jasperreports-5.0.1\test\jasper_report_template.jasper   [delete] Deleting: C:\tools\jasperreports-5.0.1\test\jasper_report_template.jrprint

9

compile:    [mkdir] Created dir: C:\tools\jasperreports-5.0.1\test\classes    [javac] C:\tools\jasperreports-5.0.1\test\baseBuild.xml:28: warning:    'includeantruntime' was not set, defaulting to build.sysclasspath=last;    set to false for repeatable builds    [javac] Compiling 7 source files to C:\tools\jasperreports-5.0.1\test\classes compilereportdesing:

10

正如上文编译的结果,JasperViewer窗口打开如下面的屏幕:END

同为比较常用的报表工具,FineReport在报表制作和实现各种效果过程中所需代码量远小于jasperreport,而且FineReport中大部分的报表代码细节被隐藏,呈现出的是是可视化的设计过程,具体到报表参数部分,如下: 参数控件绑定数据
1

. 描述FineReport为了让用户快速的实现参数查询数据功能,提供了专门的参数界面,用来放置与查询相关的控件,如下图:

2

2. 示例根据下图我们制作一个简单的查询界面,从而了解参数查询界面的具体制作方法。

3

2.1 打开报表打开报表:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\Parameter\Parameter.cpt,这张模板是模板参数章节的示例模板,该模板中添加了参数界面,以此模板为例来讲述参数界面的一些使用方法。2.2 参数布局按照下图所示,将控件拖至相应的位置,如下:

4

2.3 参数控件编辑风格默认的参数控件都是文本框,有时如希望使用日期控件来选择日期,或者下拉框直接选择数据,这就需要为参数控件定义编辑风格了。如将地区控件设为下拉框。选中地区控件,选择控件中的扳手,在下面的对话框中选择控件类型为下拉框:

5

注:如果已经选择控件类型之后,又需要重新修改,那么需要删除原来的控件,再在控件列表中拖拽您需要的控件类型至参数面板中,然后修改控件名与参数名称一致即可。然后在属性表的基本属性>数据字典中,按照下图设置下拉框的数据:

6

注:给控件设置数据字典,即为控件绑定待选值,一般适用于下拉框、下拉树这类可以直接选择值的控件。另:如果控件与数据集参数绑定,数据集参数的默认值是无法传递到参数面板控件中的,控件默认值需要另外设置,详细请参照控件默认值,但是模板参数的默认值是可以传递到控件的默认值中的,无需再次设置。

7

2.4 控件名称参数与控件是通过控件名称进行绑定的,即控件名与参数名保持一致,如果参数控件是通过点击右下角的以下参数未生成按钮生成的,那么控件名会自动与参数就行绑定,如果是自己拖曳的,就需要在控件名属性处修改控件名,使之与参数名保持一致。

8

2.5 保存报表并预览保存并分页预览便可以看到效果了。END

推荐信息