Appearance
子对象
子对象字段表示的是模型之间的父子关系,在存储时保存当前记录的父节点的路径
说明
| 说明项 | 内容 |
|---|---|
| 分类 | 关联关系 |
| 是否可排序 | 否 |
| 是否支持过滤 | 是 |
| 支持过滤器类型 | 等于空,不等于空,父对象等于,根节点等于,父对象包含 |
设置项
| 设置项 | 说明 |
|---|---|
| 允许不填写 | 设置该字段是否必填 |
| 未填写时在表单中的占位符 | 在该字段未输入信息时展示在输入框内的文字信息 |
| 显示以下字段 | 可设置该表格在表单页面中显示的字段,支持在列表中添加按钮 |
| 删除节点时的行为 | 可设置在删除记录时执行的行为,选项值:删除所有子节点、有子节点时不允许删除 |
| 子对象名称字段 | 可选择本表中一个单行文本和函数类型的字段作为子对象的名称 |
子表设置
| 字段设置 | 说明 |
|---|---|
| 返回的字段列表 | 设置查询数据时返回的字段列表 |
| 使用以下字段作为筛选条件 | 可使用关联表中的字段作为表格的筛选条件,支持添加模糊过滤 |
| 组合过滤条件 | 设置字表的组合过滤条件,添加后将以标签页方式展示 |
| 排序方式 | 可使用当前表中的字段作为表格数据的排序方式 |
| 默认每页展示条数 | 设置数据列表每页加载的记录数量 |
| 允许点击打开表单页面 | 设置是否允许查看关联列表内的记录详情 |
| 列表最大高度 | 设置子对象字段在表单内展示的最大高度 |
| 数据选择模式 | 设置子对象字段在表单内数据选择方式 选项值: 无、复选框、单选 |
| 将满足以下条件的记录设置为不可选择 | 使用表达式控制记录是否可选中 |
| 显示模式 | 设置子对象字段在表单内数据展示方式 选项值: 表格、卡片、表单 |
| 分组字段 | 设置子对象字段中列表数据的默认分组字段 |
| 在表格中显示以下字段 | 设置关联列表展示的表头字段列表 |
| 表格样式 | 可设置展示表格的样式,支持多选 选项值: 显示序号、显示边框、显示条纹 |
| 表格行内编辑触发方式 | 设置行内编辑触发方式 |
| 子对象字段 | 可选择一个当前表中的子对象字段,设置了子对象字段后,表格将显示为树形表格 |
| 表格行高 | 可设置该字段在表单页面的表格行高 选项值: 小、中、大 |
| 表格最大高度 | 可设置该字段表格的高度的最大值 |
| 单元格格式 | 可通过规则设定字段中表格的单元格格式,支持设置多个规则 |
| 允许点击打开表单页面 | 设置是否允许点击表格中的记录查看该记录的详情 |
| 在子表工具栏显示控件 | 可在该表格表单页面的工具栏中加入自定义按钮,支持对按钮添加分组 |
创建完子表后的操作
| 主表记录创建成功后设置子表记录的字段值 | 说明 |
|---|---|
| 字段 | 创建后设置的子表记录的字段 |
| 默认值 | 创建后设置的子表记录的字段值 |
在数据库中的存储格式
| 字段类型 | 说明 |
|---|---|
| ltree | 存储在分层的树形结构里的数据的标签 |
子对象的逻辑关系
子对象是由标签和分隔符组成的字符串,比如:recordId1.recordId2.recordId3
- 标签:是父级的记录ID
- 路径:标签本身也是路径
例如数据表 department 的结构如下
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | 记录ID |
| name | 单行文本 | 名称 |
| parent | 子对象 | 部门之间的父子关系 |
表中的数据如下
| id | name | parent |
|---|---|---|
| 0000 | 总公司 | |
| 0001 | 技术部 | 0000 |
| 0002 | 产品部 | 0000 |
| 0003 | 运营部 | 0000 |
| 0004 | 技术一组 | 0000.0001 |
| 0005 | 技术二组 | 0000.0001 |
上述的数据表内容,标识的父子关系如下

子对象修改时的事件触发
子对象字段存储的是当前记录的父节点的路径,当一条记录的父节点发生变化时,系统会自动的修改该条数据的所有子节点的子对象字段。 例如表中的数据如下
| id | name | parent |
|---|---|---|
| 0001 | 公司1 | |
| 0002 | 公司2 | |
| 0011 | 技术部 | 0001 |
| 0012 | 技术一组 | 0001.0011 |
上面的例子中当技术部被移动到公司2下面时,它的parent字段的会更新为0002 并且技术一组的parent 字段也会被更新为0002.0011,更新后的数据如下
| id | name | parent |
|---|---|---|
| 0001 | 公司1 | |
| 0002 | 公司2 | |
| 0011 | 技术部 | 0002 |
| 0012 | 技术一组 | 0002.0011 |
需要注意的是 移动节点的操作只会触发被移动节点的数据表变更事件,被移动节点的子节点不会触发数据表变更事件。
展示效果


