历史版本5 :控件实际值与显示值常见问题 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

Finereport 版本
11.0

1.2 应用场景

本文介绍制作模板时,参数控件和填报控件实际值和显示值相关的常见问题及解决方案。

2. 常见问题及解决方案编辑

2.1 分页预览没有实际值和显示值之分

问题描述:


公式形态:if(B2 = min(B2[;!0]), "★" + round($$$, 1), round($$$, 1)),分页预览最后显示的样子为多列出现带★数字,和最小值才为带★情况不符合,其他预览正常。

2022-11-21_14-56-07.png

原因分析:

分页预览时,计算逻辑如下:

  • 首先在语文列判断89是不是89、25、62中的最小值,结果是false,显示原值;

  • 然后在数学列判断25是不是89、25、62中的最小值,结果是true,是显示为★25,

  • 最后在英语列判断62是不是89、★25、62中的最小值,结果是true,显示为★62,因为此时的数学是★25,已经成为了字符串

解决方案:

辅助列 C2 设置 C2 为min(B2[;!0])处理,然后公式形态修改为:if(B2 = C2, "★" + round($$$, 1), round($$$, 1))。

2.2 单元格下拉复选框默认值匹配显示值

问题描述:

填报报表中单元格绑定下拉复选框控件,单元格默认值为多个数值组成的字符串,预览时需要显示单个数值对应的显示值,如果没有进行任何操作显示如下图所示:

2022-11-21_14-56-07.png

解决方案:

1)方法一:设置模板web属性>填报预览>直接显示控件」,保存后进行填报预览,如下图所示:

2022-11-21_14-56-07.png

2)方法二:如果想不显示控件,可以为单元格添加形态>数据字典,设置实际值为产品ID,显示值为产品名称,然后在 B2 输入公式:split(A2,","),在B3输入公式=split(A3,","),B2 和 B3 设置为不扩展。因为 A2 和 A3 的值都是字符串格式,而下拉复选框控件的返回值是数组格式,需要使用 split 函数将字符串转换为字符串数组。如下图所示:

2022-11-21_15-11-21.png

注:因为是填报报表,填报到数据库中的是实际值而不是显示值。当使用上述方法一和方法二进行填报时,为防止同一单元格的数据被填报到多行,设置填报属性的时候需要使用joinarray函数将B3转化为为字符串格式,或者将下拉复选框的返回值类型改为字符串。

2.3 单元格下拉树实际值和显示值转化失效

问题描述:

单元格下拉树设置了默认值,同时设置了形态-数据字典,但默认值并没有按照设置正常转化为显示值,在预览时仍然显示为了实际值。

原因分析:

当使用上述格式为下拉树设置默认值时,该默认值是一个字符串。这时候形态在转化实际值为显示值时,会将该字符串视为一个整体去匹配数据,所以就无法匹配到相应的显示值了。

解决方案:

1)使用数组格式的数据作为下拉树默认值,就可以让形态正常匹配了,例如=[[1,11,111],[1,11,112]]。

2)单元格形态设置如下:

3)保存模板,点击填报预览即可。

2.4 单元格下拉树设置了显示值失焦后显示为实际值

问题描述:

单元格里添加的 下拉树控件 ,数据字典设置了实际值和显示值,选择时显示的是显示值,在失焦后单元格中显示的会是实际值。

解决方案:

可参考 单元格下拉树返回显示值

2.5 下拉框联动时切换控件选择后会显示实际值

问题描述:

如果数据字典是经过单元格联动后的数据集,在切换控件选择后会显示实际值,而非显示值。

解决方案:

可参考 单元格控件填报后保留显示值