# 高级字段控件

# 目标读者

本文档的目标读者为:本系统的开发和实施人员

# 概述

本文档描述了本系统中的部分高级字段控件,如子表控件的使用方法。

# 子表控件

子表控件是一种特殊的字段控件,它可以在一个字段中包含多个数据行,每个数据行包含多 个字段。在 CRUD 表单中的显示效果如下图所示

CRUD 表单中的子表控件

在向导中的显示效果如下图所示

向导中的子表控件

# 定义

  1. 创建动态字段实例时,将其显示控件设置为 Sub table 即可使用子表控件。
  2. 创建表单字段时,将其显示控件设置为 Sub table 即可使用子表控件。
  3. 可以在显示控件配置(DomainColumnClientSideTypeConfig)菜单下, 配置某个 domain 的某个字段,在所有的场景下,均显示为子表控件。

# 显示属性

子表属性的相关属性,在动态字段实例或者表单字段的 extInfo 中进行设置。详述如下

  1. 子表中显示的字段列表一般通过一个 inline display form 进行定制,通过在子表字 段的 extInfo 中的 displayForm 属性进行设置。该属性的值为一个类型为 inline display form 的表单的名称。

  2. 子表中是否可创建、编辑、删除行数据,通过在子表字段的 extInfo.subTable 下的 updatable, creatable, deletable 属性进行设置。

  3. 可以设置子表中的排序字段,排序字段通过在子表字段的 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

提示

对于创建或者更新表单,子表控件的保存逻辑,发生在子表关联的主对象被保存时。平台已 经实现一对多的数据结构的子表数据的更新逻辑。

对于向导或者动作参数,前端会将子表数据作为表单的一个属性进行提交。后端如何处理取 决于向导或者动作的客制化 Core Logic 实现。

Last Updated: 2024/10/26 09:20:23