iBizModel 表单(PSDEFORM)模型体系
表单面板(PSDEFORM)是iBizModel中的核心表单组件,支持数据绑定、多端适配和逻辑控制。包含表单成员(PSDEFORMDETAIL)、成员逻辑(PSDEFDLOGIC)、表单项更新(PSDEFIUPDATE)和值规则(PSDEFIVR)等成员模型,形成多层嵌套结构。支持FORMPAGE、FORMITEM等9种成员类型,通过建模指令可构建复杂业务表单,适用于数据录入、搜索过滤等场景。该模
·
表单面板(PSDEFORM)及其成员模型完整介绍
表单面板(PSDEFORM)概述
表单面板是iBizModel中的实体表单部件模型,基于数据实体构建,专注于处理与特定实体相关的数据输入和编辑操作。支持编辑表单(EDITFORM)和搜索表单(SEARCHFORM)两种类型。
核心特性
- 数据绑定:与数据实体(PSDATAENTITY)紧密关联
- 布局支持:支持栅格布局(12列/24列)和Flex布局
- 多端适配:支持PC端和移动端表单配置
- 逻辑控制:支持表单级别和成员级别的逻辑控制
- 扩展性:支持自定义插件和样式扩展
成员模型包含关系及层级结构
核心成员模型详解
1. PSDEFORMDETAIL(表单成员)
表单成员是表单的核心组成部分,提供多种成员类型,支持多层嵌套和动态逻辑控制。
主要成员类型及层级关系:
FORMPAGE
- 表单分页(根成员,必须作为PSDEFORM的直接子元素)TABPANEL
- 分页部件容器(只能包含TABPAGE)TABPAGE
- 分页面板(只能放置在TABPANEL中)FORMITEM
- 表单项(数据输入输出,叶子节点)GROUPPANEL
- 分组面板(布局容器)DRUIPART
- 数据关系界面(叶子节点)MDCTRL
- 多数据部件(类型为REPEATER时可包含其他成员)BUTTON
- 表单按钮(叶子节点)IFRAME
- 直接页面嵌入(叶子节点)
2. PSDEFDLOGIC(表单成员逻辑)
提供表单成员的动态逻辑控制,支持自嵌套形成复杂逻辑结构:
- 显示/隐藏控制(PANELVISIBLE)
- 启用/禁用控制(ITEMENABLE)
- 空输入控制(ITEMBLANK)
- 脚本事件处理(SCRIPTCODE_*)
3. PSDEFIUPDATE(表单项更新)
定义表单项值变化时触发的局部更新操作,包含:
- PSDEFIUDETAIL(表单项更新成员)- 指定需要更新的具体表单成员
4. PSDEFIVR(表单项值规则)
定义表单项的值校验规则,支持:
- 实体值规则(DEFVALUERULE)
- 系统值规则(SYSVALUERULE)
- 前后台校验配置
完整建模示例
//iBizModelDSL建模指令,目标:创建完整的订单编辑表单
def de_order = "Demo.ORDER"
psdeform(
formtype: "EDITFORM",
codename: "MainForm",
name: "订单主编辑表单",
psdeid: de_order,
layoutmode: "TABLE_24COL"
){
// 表单分页 - 根级成员
psdeformdetail(
detailtype: "FORMPAGE",
name: "basic_info",
caption: "基本信息"
){
// 分组面板 - 二级成员
psdeformdetail(
detailtype: "GROUPPANEL",
name: "order_group",
caption: "订单信息",
layoutmode: "TABLE_24COL",
child_col_md: 12
){
// 表单项 - 三级成员(叶子节点)
psdeformdetail(
detailtype: "FORMITEM",
name: "order_name",
psdefid: de_order + ".OrderName",
psdeformdetailname: "order_name"
)
// 表单项 - 三级成员(叶子节点)
psdeformdetail(
detailtype: "FORMITEM",
name: "order_status",
psdefid: de_order + ".Status",
psdeformdetailname: "order_status"
)
// 表单按钮 - 三级成员(叶子节点)
psdeformdetail(
detailtype: "BUTTON",
name: "submit_btn",
caption: "提交",
btnactiontype: "UIACTION",
psdeuiactionid: de_order + ".Submit"
)
}
}
// 表单项值规则
psdefivr(
name: "name_validation",
psdefiid: "order_name",
psdefiname: "order_name",
psdefvrid: de_order + ".NameRule",
vrtype: "DEFVALUERULE"
)
// 表单项更新
psdefiupdate(
codename: "status_update",
name: "状态更新",
psdeactionid: de_order + ".StatusUpdate"
){
psdefiudetail(
psdefiudetailname: "order_name_update",
psdeformdetailid: "order_name"
)
}
}
应用场景
- 数据录入界面:用于实体数据的创建和编辑
- 搜索过滤界面:提供数据查询条件输入
- 复杂业务表单:支持多页签、分组、动态逻辑的复杂表单
- 移动端表单:专门适配移动设备的表单界面
- 数据验证表单:集成值规则校验的数据输入界面
表单面板通过丰富的成员模型和灵活的层级结构,为iBizModel提供了强大的界面构建能力,支持从简单到复杂的各种表单需求。
更多推荐
所有评论(0)