历史版本11 :单元格控件填报后保留显示值 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

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