下拉框填报完成之后显示为显示值

编辑
  • 文档创建者:印然
  • 浏览次数:7031次
  • 编辑次数:10次
  • 最近更新:Wendy123456 于 2019-10-15
  • 1. 概述

    1.1 问题描述

    在进行填报时,使用下拉框控件根据显示值进行填报,控件失去焦点后,下拉框中显示的不再是显示值而是实际值。

    但在实际应用中,用户希望填报时在下拉框中输入的数据,控件失去焦点后,显示其对应的显示值。

    1.2 实现思路

    通过修改下拉框控件所在单元格的 形态,为其设置 数据字典,即可解决上述问题。

    2. 问题示例

    以内置数据库 FRDemo 中的「产品」和「订单明细」两张表为例,为大家介绍该问题。

    2.1 模板设计

    2.1.1 控件设置

    分别为单元格 A2,B2,D2 添加文本控件,下拉框控件,文本控件,单元格添加控件请参考 填报控件 中的第二章。模板设计如下图所示:

    1571068524581436.png

    2.1.2 数据字典

    选中 B2 单元格,在右侧属性面板控件设置>高级 中为其设置数据字典,其中实际值为「产品ID」,显示值为「产品名称」。如下图所示:

    1571069598782650.png

    2.1.3 添加公式

    鼠标右键点击 C2 单元格,选择单元格元素>插入公式,其中单价是根据产品 ID 进行 自动匹配 的,公式为:

    if(len(B2) = 0, "", sql("FRDemo", "select 单价 from 产品 where 产品ID=" + B2, 1, 1))

    2.1.4 填报属性设置

    填报属性设置步骤可参考 报表填报属性 ,其中填报数据要提交到的表为「订单明细」,具体设置如下图所示:

    26.png

    2.2 效果预览

    保存模板,点击填报预览,效果如下图所示:

    1571070674926554.gif

    预览发现,填报选择产品时,B2 单元格显示的为显示值,选择完成之后,控件失去焦点,控件文本显示的是实际值。

    3. 解决方案

    设置 B2 单元格的形态,数据库表为「产品」,设置实际值为「产品 ID」,显示值为「产品名称」。

    注:下拉复选框控件返回值类型必须为数组,暂不支持返回值为字符串。

    3.1 设置过程

    在本文第二章问题示例模板基础上选中 B2单元格,在右侧属性面板中选择单元格属性>形态,为其设置数据字典。如下图所示:

    1571071552757237.png

    3.2 填报预览

    保存模板,点击填报预览,下拉框失去焦点之后,下拉框中显示的还是显示值,而非实际值。如下图所示:

    1571071827203918.gif

    4. 模板下载

    已完成的模板,请参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\下拉框填报完成之后显示为显示值.cpt

    点击下载模板:下拉框填报完成之后显示为显示值.cpt

    附件列表


    主题: 报表应用
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]