反馈已提交

网络繁忙

控件实际值与显示值常见问题

  • 文档创建者:帆软应用复用-Cat
  • 历史版本:9
  • 最近更新:Tracy.Wang 于 2024-06-18
  • 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 下拉框联动时切换控件选择后会显示实际值

    问题描述:

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

    解决方案:

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

    2.6 下拉框内的值显示异常

    问题描述:

    使用 REPLACE 函数传递默认值给控件时:

    下拉框前 500 项的默认值正常显示

    下拉框 500 项之后的显示值异常,出现实际值

    例如,使用 REPLACE 函数将 1 转化为壹元整,下拉框 500 项之后显示值异常,如下图所示:

    2024-06-03_15-06-50.png

    原因分析:

    使用 REPLACE() 函数传参时,下拉框初次取数只能取 500 个,所以默认值若是 500 项后的数据(如 997 , 998 , 999 )则无法被系统正确识别,就会显示实际值。当拉开下拉框至 500 项后的数据时,500 项后的数据才会被填充,再手动选择就可以正确显示。

    解决方案:

    使用 SPLIT() 函数代替 REPLACE() 函数传参,可以避免初次取数限制。

    附件列表


    主题: 参数应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持