历史版本39 :报表参数界面API 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 描述编辑
在设计器中可以通过对参数界面的设计来控制参数的显示形式,如参数界面的布局、背景、显示方式等。那如何在程序中控制参数的相关属性呢?
FineReport 中通过 ReportParameterAttr 类来实现。
以下具体介绍该类的使用方法,比如需要通过程序实现参数界面背景色为绿色,并且居中显示,在 Web 端预览实现效果如下所示:
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 的使用”,完整代码如下所示:
注:定义报表运行环境需要根据实际设计器的安装路径,比如安装在 C 盘,即 String envPath = "C://FineReport_10.0//webapps//webroot//WEB-INF"
另:下载路径也需要根据实际情况修改,例如下载到 D 盘,即D:\\newParameter.cpt
3.2 执行代码
执行程序,将在对应路径下生成新的 cpt 模板,打开生成的模板,在浏览器端预览模板,就会看到参数界面背景色为绿色,如下图所示:
如果需要设置其他属性您可以使用该程序试验其他属性的设置效果。