1. 概述编辑
在使用控件的时候,您可能需要对控件赋初值,即进行默认值处理。控件根据使用方式不同可分为填报控件和参数控件,下面分别介绍他们的默认值赋值方式。
2. 赋值方法编辑
控件默认值有多种赋值方法,如下表所示:
赋值方法 | 简介 | 示例 |
---|---|---|
系统参数的值 | FineReport 给出的系统参数默认值 | 系统参数 |
URL 传参 | Web 端预览模板时,在 URL 后面附上参数默认值 | http://localhost:8075/webroot/decision/view/report?viewlet=test.cpt&p1=a |
数据决策系统内挂载模板时设置的参数默认值 | ![]() | |
参数面板控件值 | 在控件的属性面板中为控件赋的初始值 | ![]() |
模板参数默认值 | 定义 模板参数 的时候赋的初始值 | ![]() |
全局参数默认值 | 定义 全局参数 的时候赋的初始值 | ![]() |
数据集参数默认值 | 在数据集中定义的参数初始值 | ![]() |
3. 优先级原则编辑
当模板中存在不同种类的参数,多个参数同名时,显示优先级最高的参数的默认值。
参数的优先级依次为:系统参数的值>URL 传参>参数面板控件值>模板参数默认值>全局参数默认值>数据集参数默认值
例如:当 URL 传递参数p1的值为 a,模板参数 p1 的默认值为 b。则预览模板时,参数的默认值为优先级高的 a。
4. 示例一:填报控件默认值编辑
4.1 应用场景
我们常常希望填报界面进行填报前,控件中已有初始值,这个初值其实就是填报控件的默认值。如下图所示:
4.2 实现思路
普通报表:在控件所在单元格中直接输入默认值。
决策报表:在参数面板中设计控件默认值值。
4.3 操作步骤
4.3.1 普通报表
在控件所在单元格中输入值即可,如下图所示:
4.3.2 决策报表
决策报表中,在控件值中填入默认值即可。如下图所示:
5. 示例二:参数控件默认值编辑
5.1 应用场景
我们常常希望点击 查询按钮前能够根据参数界面上的默认值来显示报表内容。如下图所示:
5.2 实现思路
设置参数控件的初始值,一共有三种方法:
模板参数设置默认值
参数面板控件值设置默认值
URL 传参
5.3 操作步骤
5.3.1 模板参数设置默认值
在定义参数界面中设置参数默认值,参数控件会自动获取参数默认值为控件的初始值。例如定义模板参数 p1 时,设置默认值为华东,定义参数界面时,p1 参数控件的控件值默认为华东,数据集参数同理。如下图所示:
注:必须要设置参数默认值在先,定义参数控件在后,初始控件值才是参数默认值,若控件已经定义好,再修改参数默认值,此时控件值不会改变,即参数界面上的初始值不会改变。因此,若想修改参数界面的默认值,直接修改参数控件的控件值即可。
5.3.2 参数面板控件值设置默认值
在定义参数时不对默认值进行设置,在在参数控件的控件值属性里面设置默认值。例如定义模板参数 p1 ,不设置默认值,定义参数界面之后,在参数界面选中参数控件,在控件的「属性表>高级>控件值」中进行设置,数据集参数同理。如下图所示:
5.3.3 URL传参
在URL 后面跟上参数的初始值,参数界面即会显示url中的值。例如访问报表http://localhost:8075/webroot/decision/view/report?viewlet=GettingStarted.cpt&地区=华北,参数界面上的控件值即为 URL 中的值,如下图所示: