历史版本42 :报表参数界面API 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

在设计器中可以通过对参数界面的设计来控制参数的显示形式,如参数界面的布局、背景、显示方式等。那如何在程序中控制参数的相关属性呢?,如下图所示,修改参数面板的背景为绿色,并且居中显示。

222

1.2 实现原理

FineReport 中通过 ReportParameterAttr 类来实现。以下具体介绍该类的使用方法。

1)读取报表参数属性 ReportParameterAttr

若已经读取了一个模板并将其保存为 WorkBook 对象,如下

WorkBook workbook = (WorkBook) TemplateWorkBookIO.readTemplateWorkBook("//doc//Primary//Parameter//Parameter.cpt");

就可以读取该 WorkBook 对象的参数属性,从而控制报表参数属性。

获取 WorkBook 工作薄的参数属性 ReportParameterAttr

ReportParameterAttr paraAttr = workbook.getReportParameterAttr();

2)调整参数界面的布局

/* 参数界面的布局 
 * 0 : 靠左 
 * 1 :居中 
 * 2 : 靠右 
 */  
paraAttr.setAlign(1);

3)设置参数背景

/* 
 * 设置参数界面背景 
 * ColorBackground :颜色背景 
 * GradientBackground :渐变色背景 
 * ImageBackground :图片背景 
 * PatternBackground :图案背景 
 * TextureBackground :纹理背景 
 */ 
Background background = ColorBackground.getInstance(new Color(0, 255, 255));
paraAttr.setBackground(background);

4)重新设置参数属性

改变了一系列参数属性后,需要将改变后的 ReportParameterAttr 重新添加至 WorkBook 中

//重新设置参数属性,导出最终结果 workbook.setReportParameterAttr(paraAttr);

2. 示例编辑

以下示例读取内置模板 Parameter.cpt 修改参数面板样式后,将结果导出成 cpt 文件。

2.1 准备编译环境

编译程序前,需先创建一个 Java 工程环境,并且需要一个 Java 编辑器,如 Eclipse 或 idea 。

在编辑器工程中导入 FineReport 工程 JAR 包。包括用户自己报表工程

%FR_HOME%/lib下的所有的包,

%FR_HOME%/server/lib 下的所有包,

%FR_HOME%/webapps/webroot/WEB-INF/lib下的所有包,

还要引入 JDK 下的 tools.jar。详细操作可参考:编译Java程序 

2.2 编写 Java 程序

在编辑器中编写 Java 程序 SetParameterWindow.java,即读取内置模板 Parameter.cpt 后修改参数面板样式后,将结果导出成 cpt 文件。完整代码可参见:

注:用户使用时,注意将示例代码中的工程路径、模板名称和导出路径替换为用户自己工程下的。

https://code.fanruan.com/demo/example/src/release/10.0/src/main/java/com/fr/io/SetParameterWindow.java

2.3 编译 Java 文件

Java 程序编写完成后,在编译器中编译 SetParameterWindow.java ,编译通过后,就会在代码中导出路径的文件夹下生成修改过的新文件 newParameter.cpt,这样就实现了读取模板后修改参数面板属性后导出。

打开生成的模板,在浏览器端预览模板,就会看到参数界面背景色为绿色且居中显示。如下图所示:

222