3.3 下拉列表

数据接口:下拉列表

1.使用简介

通常在进行表单填写时,相较于直接输入我们更喜欢使用选择的方式填写,更便捷简单。下拉列表就是这样的一种工具——将常用的数据通过下拉菜单的形式展示出来(下拉列表中只显示一列数据),方便选择使用。
下拉列表类型的数据接口(简称下拉列表数据接口)数据有2种方式设置方式:
①固定取值,下拉列表中的选择项是固定,后期不会发生改变,如需修改则需要开发者修改设计;
②从数据表中获取,当数据表的数据发生变化时,下拉列表的选项动态变化,非常方便。
下面让我们一起来学习如何设置数据接口——下拉列表吧。

2.设计原则

遵循数据接口的设计原则:谁提供数据就到谁里面设计数据接口,设计下拉列表类型数据接口前,先找到提供数据的模板,进入该模板的设计面后,再设计。

3.运行时机

在填写规范中使用下拉列表数据接口时,数据项的单元格右侧会出现▽符号,单击【▽】运行数据接口,执行查询。

4.基本设置

在模板设计界面的“公式设置区”单击【数据接口】,打开“设计数据接口”对话框,打开选项卡“下拉列表”,单击【新建】进入下拉列表数据接口的设计界面。

4.1名称

可任意取名(建议据需要引用下拉列表的数据项进行命名,便于后期调用,如:学生姓名下拉列表、省份下拉列表等),主要作用是便于直观的区分数据接口的用途;当数据接口有参数时,添加参数时,名称中自动添加参数名称。

4.2访问权限

我们可以通过设置访问权限来实现下拉列表数据接口仅限本模板使用,或被多个模板同时使用的功能。在新建数据接口时,可以选择数据接口是私有还是公开,也可以在创建完成后再次修改访问权限(重新设置私有或公开)。需要注意的是,前期设置了访问权限,并在表单模板里调用该数据接口后,这时修改了访问权限,则曾调用数据接口还可以继续使用,之后的便只能由后期设置的访问权限,决定是否可以调用该数据接口。
私有:只有本模板可调用此数据接口;公开:本系统的所有模板都可调用此数据接口。

4.3数据来源

下拉列表中的数据来源有2种取值方式:
①“固定取值”,适用于下拉列表中显示的数据量不多且固定不变的,一般不推荐使用,下拉列表相对固定,灵活性差。
②“来自数据表”,适用于下拉列表中显示的数据量多或有可能会有变动时,从设定模板的表单中取值。
4.3.1固定取值
当数据源来源为“固定取值”时,手动输入“值”和“显示值”,值将保存到数据库中,显示值用于给用户查询并进行选择。工具栏按钮【插入行】、【删除行】是指添加或删除下拉列表中相应的下拉内容,通过按钮【上移】、【下移】可设置下拉列表内容的显示顺序。
4.3.2来自数据表
①数据表,确定下拉列表的数据要从哪个模板的表单中取值。默认为本模板,从本模板的所有表单中获取数据;当模板中有明细表时,可选择本模板的某个明细表,可从本模板所有表单的所有明细表记录中获取数据。
②取值,从数据表的多个数据项中,选取一个数据项用于显示,注意只能选择一个数据项,且数据项不支持使用表达式编辑器编辑。
③排序数据项,可设置下拉列表的排序方式,根据设置的排序数据项进行排序,默认为空,不排序。
④排序方式,设置好排序数据项后,根据该数据项的排序方式可进行“不排序”、“升序”、“降序”。
⑤过滤设置,由于数据表是模板或者模板明细所有表单中获取数据,若是不加限制条件,那么所有数据都会显示在下拉列表中,不方便查看和选择。通过设置“过滤设置”过滤出所需的数据,提高填写效果。
过滤设置提供2种设置:过滤项和表达式过滤
  a.过滤项,对数据项设置比较值进行过滤,此筛选适用于条件固定的情况。
“字段名”是数据表的数据项,“比较”可以选择“<”“>”“=”“<=”“>=”“<>”等的关联符号;取值1&取值2是需要与数据项进行关联比较的值。比如下图设置为过滤掉停用的仓库。
  b.表达式过滤,通过添加参数,并设置参数与此下拉列表中数据项的关系来进行数据的筛选,此筛选适用于条件多变化的情况,关于参数的作用可参见12.3 查询模板:过滤条件
   添加参数时,必须设置参数名、数据类型,必填和默认值选填。
   ①参数名:一般将过滤的条件设置为“参数名”,比如仓库所在地、年、月等;
   ②数据类型:设置参数的“数据类型”后该参数只能被赋值对应类型的数据;
   ③必填:勾选“必填”则调用该数据接口时,参数一定要赋值才可进行筛选。
   ④默认值:设置默认值后,当数据接口被调用后,未给参数赋值时,默认使用参数的默认值进行过滤。
   ⑤过滤条件:单击按钮【编辑】,设置过滤的条件,过滤条件中可直接引用参数,将参数与数据表的数据项进行表达式编辑后筛选出符合条件的表单。未设置参数时,过滤条件筛选的表单是固定的;有参数但是过滤条件没有引用,则自定义参数无实际意义。

4.4不继承数据源的策略限制

默认不勾选,勾选“不继承数据源的策略限制”后,在调用该下拉列表数据接口时,不受权限中的策略限制;不勾选“不继承数据源的策略限制”,在调用该下拉列表数据接口时,会受到权限中的策略限制,可能会导致无法使用所需要数据的问题。

4.5默认规范方式

4.5.1填报允许手工输入
勾选“填报允许手工输入”后,在数据表管理中调用此数据接口时,默认首选“允许手工填入+下拉框选择”(允许手工输入和下拉框选择输入);否则,默认首选为“下拉框框选择”(仅允许对话框选择输入,不允许手工输入)。
4.5.2下拉菜单显示数
通过“下拉菜单显示数”的值,设置下拉列表在一个页面最多能显示的行数。当数据超过所设置的行数后会出现滚动条。

5.全局下拉列表

除了在模板中的数据接口-下拉列表建立全局数据接口外,还可以在左侧目录树的【我的系统】--【系统管理】--【数据接口】--【下拉列表】中建立全局的下拉列表数据接口。 一般被多个模板引用的数据接口建立在全局比较好,方便设计者进行管理。

6.案例应用

《采购入库单》中,根据仓库所在地址,筛选出该地址所有的仓库,需要下拉列表数据接口“根据仓库地址查仓库的下拉列表”。根据数据接口的设计原则谁提供数据就到谁里面设计数据接口,仓库信息是由《仓库信息》模板提供数据,因此需要在《仓库信息》模板设计“仓库信息(仓库地址)”的下拉列表数据接口,该数据接口有1个参数“仓库地址”,并在《采购入库单》模板中调用该数据接口。
①在《仓库信息》下新建下拉列表数据接口。进入《仓库信息》模板的设计界面,在“公式设置区”打开“数据接口”,选择“下拉列表”选项卡,该数据接口需要被其他模板调用,访问权限使用默认的“公开”的,单击【新建】按钮,进入“设计数据接口”对话框。
②该数据接口的数据是动态的。“数据来源”设置为来自“数据表”-“本模板”,“取值”设置为“仓库名称”数据项,“排序数据项”设置为“仓库编号”数据项。
③该数据接口有1个参数“仓库地址”,需要设置过滤条件。“过滤设置”设置为表达式过滤,并添加参数“仓库所在地区”,文本类型,过滤条件为“自定义参数.仓库所在地区 = 本模板.仓库地址”。
④修改数据接口的名称,并调试,调试接口。
⑤进入《采购入库单》模板的设计界面,在“入库仓库”的填写规范上调用设计的该数据接口。在“公式设置区”单击“数据表管理”,打开“数据定义管理”对话框,找到“入库单号”的填写规范,单击【...】,先选择模板《仓库信息》,再打开选项卡“下拉列表”,选择“仓库信息.仓库信息(仓库所在地区)”数据接口。
⑥设置仓库绑定。该数据接口带有参数,需要给参数赋值,调用有参数的数据接口后,默认打开“参数绑定”选项,在“绑定参数值”上单击【...】给参数“仓库所在地址”赋值“本表单.仓库地址”,并保存设计后的模板。
⑦查看下拉列表数据接口的使用效果。新建“入库单”,填写仓库地址“广州”,单击“入库仓库”上的【▽】按钮,执行查询,“仓库信息.仓库信息(仓库所在地区)”数据接口有参数,获取“本表单.仓库地址”的值“广州”赋值给“自定义参数.仓库所在地区”,筛选所有符合条件的仓库记录,取值“仓库名称”,以下拉列表的方式显示。
更多案例参见 省市区联动
2022-10-31
41 38