# 高级字段控件
# 目标读者
本文档的目标读者为:本系统的开发和实施人员
# 概述
本文档描述了本系统中的部分高级字段控件,如子表控件的使用方法。
# 子表控件
子表控件是一种特殊的字段控件,它可以在一个字段中包含多个数据行,每个数据行包含多 个字段。在 CRUD 表单中的显示效果如下图所示
在向导中的显示效果如下图所示
# 定义
- 创建动态字段实例时,将其显示控件设置为
Sub table
即可使用子表控件。 - 创建表单字段时,将其显示控件设置为
Sub table
即可使用子表控件。 - 可以在显示控件配置(DomainColumnClientSideTypeConfig)菜单下, 配置某个 domain 的某个字段,在所有的场景下,均显示为子表控件。
# 显示属性
子表属性的相关属性,在动态字段实例或者表单字段的 extInfo 中进行设置。详述如下
子表中显示的字段列表一般通过一个
inline display form
进行定制,通过在子表字 段的 extInfo 中的displayForm
属性进行设置。该属性的值为一个类型为inline display form
的表单的名称。子表中是否可创建、编辑、删除行数据,通过在子表字段的 extInfo.subTable 下的
updatable
,creatable
,deletable
属性进行设置。可以设置子表中的排序字段,排序字段通过在子表字段的 extInfo.subTable 下的
sortBy
属性进行设置。如果不设置,则默认使用名为displaySequence
的字段作 为排序字段。
示例如下
{
/** 子表中的显示字段定义的表单名 */
/** Name of the form defining the display fields in the sub-table */
/** Name of the form defining the display fields in the sub-table */
"displayForm"?: "Form used to display the list of objects",
/** 子表控件的相关属性 */
/** Related properties of the sub-table control */
"subTable"?: {
/** 子表中是否可创建、编辑、删除、搜索现有行 */
/** Whether rows in the sub-table can be created, edited, deleted, or searched */
"updatable"?: true | false,
"creatable"?: true | false,
"deletable"?: true | false,
"searchModal"?: true | false,
/** 子表中的排序字段,默认为 displaySequence, 可以设置为其他字段 */
/** Sorting field in the sub-table, default is displaySequence, can be set to other fields */
"sortBy"?: "排序字段的 key" // Key of the sorting field
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
提示
对于创建或者更新表单,子表控件的保存逻辑,发生在子表关联的主对象被保存时。平台已 经实现一对多的数据结构的子表数据的更新逻辑。
对于向导或者动作参数,前端会将子表数据作为表单的一个属性进行提交。后端如何处理取
决于向导或者动作的客制化 Core Logic
实现。