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 |
需要注意的是 移动节点的操作只会触发被移动节点的数据表变更事件
,被移动节点的子节点不会触发数据表变更事件
。