1. 描述编辑
在我们平时对控件的使用中,避免不了需要对控件值的引用,那么在引用控制的值时,会涉及控件实际值和显示值,现在具体划分哪些控件有实际值与显示值之分,以及控件值的使用!
2. 控件(值)对比编辑
控件 | 实际值 | 显示值 | 实际值显示值是否一致 |
---|---|---|---|
文本控件 | -- | -- | 是 |
文本域控件 | -- | -- | 是 |
数字控件 | -- | -- | 是 |
密码控件 | -- | -- | 是 |
按钮控件 | -- | -- | 是 |
复选框控件 | -- | -- | 是 |
单选按钮组控件 | 有 | 有 | 否 |
复选框组控件 | 有 | 有 | 否 |
下拉框控件 | 有 | 有 | 否 |
下拉复选控制件 | 有 | 有 | 否 |
日期控件 | -- | -- | 是 |
文件控件 | -- | -- | 是 |
列表控件 | 有 | 有 | 否 |
网页框 | -- | -- | 是 |
下拉树 | 有 | 有 | 否 |
视图树 | 有 | 有 | 否 |
3. 实例一编辑
我们先演示一下控件显示值和实际值的获取方法及使用区别!
过程:在参数面板新建:下拉框控件(t1)、单选按钮组控件(t2)、复选框控件(t3)、下拉复选框控件(t4)、文本控件(t5)及预定义按钮(提交)
注:上述控件全部独立,不存在联动!
1)选中t1按钮,设置字典:
2)在预定义按钮中设置点击事件,如下:
js代码:
3)效果预览:(实际值和显示值不同)
同理设置:单选按钮组控件(t2)、复选框控件(t3)、下拉复选框控件(t4)得到的结果一样:(实际值和显示值不同)
结论:目前除了下拉框控件、单选按钮组控件、复选框控件、下拉复选框控件、列表控件、下拉树、视图树,这种能设置数据字典来定义实际值和显示值的控件[实际值和显示值不同]外,其他控件实际值和显示值均相同!
具体请参考上面的控件对比图表
4. 示例二编辑
如果在单元格中获取控件值,获取到的是控件的显示值还是实际值!
过程:我们分别在报表的B3、C3、D3、E3、F3单元格获取参数控件t1、t2、t3、t4、t5的值!
1)设置方法:
2)效果预览:
结论:参数界面的控件传递到后台或在单元格直接获取,都是控件的[实际值]。
5. 实际值显示值多对一编辑
就如上述所展示的那样,通常实际值和显示值是一一对应的关系。但是也会有不同实际值对应相同显示值的情况,就比如企业名称可以相同但ID是唯一的,ID与名称就构成了多对一的关系。
10.0统一控件在多个实际值对应相同显示值情况下的处理逻辑:
1)直接在控件里选值时,无论是参数查询还是新填报,均支持实际值和显示多对一的情况,也即由所选的显示值得到其对应的实际值。
2)通过传参赋予控件值时,如果传参是实际值,则和直接在控件里选值的逻辑保持一致;如果传递的是显示值,则控件默认选中第一个显示值。
下面进行举例说明。
如图所示,新增一个内置数据集:
在参数设置界面添加下拉框、下拉复选框、单选按钮组、复选按钮组、视图树以及查询按钮,如下图所示:
注意在添加控件时,依次给控件修改名称,这里按顺序修改为:a、b、c、d、e。
就拿下拉框控件a举例:
其余控件不多做说明,修改完名称的控件如下图所示:
注:formSubmit0为查询按钮控件。
接着给各个控件增加数据字典设置。
依然以下拉框控件a举例说明,如下图所示:数据字典的类型设置为数据查询;实际值为:学号;显示值为:姓名。
下拉复选框、单选按钮组、复选按钮组均如上图下拉框一样设置。
视图树则稍有不同:
1)注意首先将【多选】勾选上;
2)设置数据字典:构建方式选择【极速分层构建】;数据集选择新建好的内置数据集;实际值选择【学号】;显示值选择【姓名】。如下图所示:
参数界面设置完成,接着如图设置报表主体:
分别在A2-E2单元格内插入公式,输入对应的【$控件名】。
预览效果如下:
实际值显示值多对一的情况下,选择同样的显示值依然可以准确得出不同的实际值。
此外,可手动输入值的控件(比如下拉复选框),手动输入了多个相同的显示值,则跟传参一样控件只选中第一个显示值,如下图所示:
下拉框、下拉复选框、单选按钮、复选框组、视图树控件编辑前后均显示显示值,如下图所示:
注:填报预览下编辑时展示显示值,结束后展示实际值,必须借助单元格的形态设置才能实现和新填报一样的效果。具体可以参考下拉框填报完成之后显示为实际值。
就如上面说明的那样:通过传参赋予控件值时,如果传参是实际值,则和直接在控件里选值的逻辑保持一致;如果传递的是显示值,则控件默认选中第一个显示值。
我们依然需要使用刚才5.1建立的参数查询报表。
然后再新建一个报表,设计报表主体如下图所示:
单元格内写入的内容来源如下图所示:
然后给A1-F1单元格添加超级链接至5.1使用的参数查询报表,如下图所示:
A1-E1添加超级链接的设置均如上图所示,没有任何不同。故在此不多做赘述。
注:设置好A1单元格超链接之后可以直接复制A1单元格至B1-F1中,再修改单元格内容为“2-5、赵一”即可。
保存模板,预览。预览效果如下:
可以看到传递的是显示值“赵一”时,控件默认选中第一个显示值。