1. 概述
1.1 学习视频
本文学习视频:填报控件
1.2 应用场景
设计填报报表时,如果需要修改和新增数据,则必须要给录入数据的单元格添加填报控件。
FineReport 共有 16 种填报控件,分别适用于不同的填报场景。
1.3 功能入口
给单元格添加填报控件的方法:选中单元格,右边属性面板选择「控件设置」,点击「选择控件」下拉按钮,选择自己想要的控件即可。如下图所示:
2. 填报控件类型
下表给出 16 种控件各自的使用场景简介,每种控件的详细介绍可点击对应超链查看。
类型 | 控件名称 &帮助文档 | 使用场景 |
---|---|---|
填写 | 文本控件 | 填写单行文本信息,例如:姓名、邮件、手机号、邮编 ...... |
文本域控件 | 填写多行文本信息,例如:个人介绍、产品描述、问卷调研 ...... | |
数字控件 | 填写数字,例如:销量、利润额、成绩 ...... | |
密码控件 | 填写密码,且填写时密码隐藏不可见 | |
点击 | 按钮控件 | 点击后实现某种效果,例如:填报时插入行按钮、填报时删除行按钮 ...... |
选择 | 复选按钮控件 | 可以同时选中多条数据并对数据进行处理,例如:批量删除数据、提交多条数据、批量修改数据 ...... |
单选按钮组控件 | 有多个数据项可供选择,但是只能提交一个,例如:试卷单项选择题、问卷单选选择项 ...... | |
复选按钮组控件 | 有多个数据项可供选择,可以同时提交多个,例如:试卷多项选择题、问卷复选选择项 ...... | |
下拉框控件 | 点击下拉框显示多个选项,选择其中的一个填入单元格 | |
下拉复选框控件 | 点击下拉框显示多个选项,可以同时选择多个填入单元格 | |
日期控件 | 选择日期填入到单元格中 | |
文件控件 | 上传文件保存到数据库表中 | |
列表控件 | 选项以列表形式显示,选中其中一个进行提交 | |
网页框控件 | 单元格中插入其他网页或者报表 | |
下拉树控件 | 选择树状结构下的选项填入单元格,然后进行提交,支持单选或多选 | |
视图树控件 | 勾选树状结构下的选项,直接进行提交,支持单选或多选 |
3. 填报控件设置默认值
填报时如果想要控件在一开始就有个默认值,只需要在设计填报模板时,直接在控件所在单元格里面填写即可。
例如:想要给下图模板的填写日期一个默认值,动态显示当天的日期。
只需要在设计模板时,在填报日期的单元格里写入公式=today(),如下图所示:
4. 注意事项
4.1 数据字典联动会清空控件值
当前功能设计下,控件在触发数据字典联动时,会清空被联动控件的值。
4.2 有控件值的参数面板控件在初始化时就会计算数据字典
带有数据字典设置的参数面板控件,如果没有默认值,则其数据字典会在点击控件触发选项时才会计算;如果有默认值,则在控件初始化的时候就会计算数据字典。所以当数据字典的sql执行速度较慢的情况下,设置默认值会对模板整体加载速度有明显影响。
4.3 文本和数字控件输入不符合校验规则的值后,会返回上一次输入的值
设置了校验规则的文本或者数字控件,当输入值不符合规则的时候,会有相应提示,并且当前输入值会被清空,返回上一次输入的值。
4.4 控件数据字典的数字丢失精度
注:11.0.6 及之后的版本,控件的数据字典数字类型精度更加准确,不会再出现以下问题。
当控件数据字典使用的字段类型为数字类型时,例如bigint,有可能会出现丢失精度的问题,如图所示。
解决方案为将数字类型转为字符串类型,例如下图所示在sql中进行转换。
4.5 下拉控件单元格形态不生效
下拉框控件和下拉复选框控件所在单元格设置了数据字典形态,且数据字典中引用了包含数据集参数的数据集,前端预览时该形态不会生效。