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

目录:

1. 描述编辑

在设计器中可以通过对参数界面的设计来控制参数的显示形式,如参数界面的布局、背景、显示方式等。那如何在程序中控制参数的相关属性呢?

FineReport 中通过 ReportParameterAttr 类来实现。

以下具体介绍该类的使用方法,比如需要通过程序实现参数界面背景色为绿色,并且居中显示,在 Web 端预览实现效果如下所示:


222

2. 原理编辑

2.1 读取报表参数属性 ReportParameterAttr

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

1)读取模板保存为 WorkBook 对象

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

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

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

ReportParameterAttr paraAttr = workbook.getReportParameterAttr();


2.2 参数界面的布局


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


2.3 设置参数背景


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


2.4 重新设置参数属性

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


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


3. 示例编辑

3.1 完整代码

如我们将 Parameter.cpt 模板的参数界面改为弹出式的,并设置参数窗口标题为“参数属性 parameterAttr 的使用”,完整代码如下所示:

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

注:定义报表运行环境需要根据实际设计器的安装路径,比如安装在 C 盘,即 String envPath = "C://FineReport_10.0//webapps//webroot//WEB-INF"

另:下载路径也需要根据实际情况修改,例如下载到 D 盘,即D:\\newParameter.cpt


3.2 执行代码

执行程序,将在对应路径下生成新的 cpt 模板,打开生成的模板,在浏览器端预览模板,就会看到参数界面背景色为绿色,如下图所示:

222


如果需要设置其他属性您可以使用该程序试验其他属性的设置效果。