多选基础资料字段

构建列表过滤条件,触发beforeF7Select事件,打开F7列表 | | getBindingValue | 刷新前端字段值时,调用此方法:
把多选基础资料值打包,生成用于前端控件显示的值:自动拼接多个资料的名称 | | getIsOrgBaseAdmin | 是否基础管理员;
专用于关联组织基础资料时,根据此选项控制F7组织列表数据范围; | | getOrgFuncId | 组织职能;
专用于关联组织基础资料时,根据组织职能过滤F7组织列表数据 | | isShowUsed | F7列表是否仅显示未禁用的资料:
通常在单据上,只能录入未禁用的资料;但在过滤条件表格,可以录入已禁用的资料; | ## 5.2 数据模型 ### 5.2.1 属性对象 多选基础资料字段,在主实体模型中的属性对象是 MulBasedataProp类型: 派生于集合属性对象基类DynamicCollectionProperty,与单据体属性对象类似,可以存储集合值,每个基础资料数据对应集合中的一行; * 实现了IFieldHandle接口,具有普通字段的特征,如物理字段值类型、设计时默认值、比较符号等属性; * 实现了IValidatorHanlder接口,能够提供默认的字段值校验器; * 实现了IBasedataField接口,具有普通基础资料字段的特征; ```java package kd.bos.entity.property; public class MulBasedataProp extends DynamicCollectionProperty implements IFieldHandle, IValidatorHanlder,IBasedataField { ``` MulBasedataProp属性对象的层次结构: 关联一个子实体 DynamicObjectType,子实体中具有如下属性对: * 主键:pkid,PKFieldProp类型,存储随机生成的主键; * 基础资料属性对象:fbasedataid,存储基础资料的数据包; * 基础资料主键:fbasedataid_id,PKFieldProp类型,存储基础资料主键; 如下代码演示了如何取多选基础资料各层的属性对象: ```java /** 单据头.多选基础资料字段 */ private final static String KEY_MULBASEDATAFIELD = "mulbasedatafield"; /** * 演示如何取字段的属性对象 */ private void demoFieldProp(){ MainEntityType mainType = this.getModel().getDataEntityType(); // 多选基础资料:集合属性,与物理表格对应 MulBasedataProp mulBasedataProp = (MulBasedataProp)mainType.findProperty(KEY_MULBASEDATAFIELD); // 下级子实体:集合元素对应的实体对象,其下包含了普通基础资料属性对象 DynamicObjectType subEntityType = (DynamicObjectType)mulBasedataProp.getDynamicCollectionItemPropertyType(); // 基础资料:存储每条基础资料的数据包,属性名是个常量fbasedataid BasedataProp basedataProp = (BasedataProp)subEntityType.getProperties().get("fbasedataid"); // 基础资料主键:存储每条资料的主键,与物理字段对应 PKFieldProp refIdProp = (PKFieldProp)basedataProp.getRefIdProp(); } ``` ### 5.2.2 字段值 在表单数据包中,多选基础资料字段的值类型,是DynamicObjectCollection类型,DynamicObject的集合;集合中的每个数据包DynamicObject,包含一条基础资料数据。 ### 5.2.3 字段值存取方法 (IDataModel) 如下示例代码,演示如何给多选基础资料字段取值、赋值: * 方案一:利用表单数据模型存取多选基础资料字段值,适用于表单插件; * 方案二:利用属性对象,自行操作数据包,存取多选基础资料字段值,适用于单据操作插件。 ```java package kd.bos.plugin.sample.dynamicform.pcform.field.bizcase; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType; import kd.bos.entity.MainEntityType; import kd.bos.entity.property.BasedataProp; import kd.bos.entity.property.MulBasedataProp; import kd.bos.entity.property.PKFieldProp; import kd.bos.form.plugin.AbstractFormPlugin; import kd.bos.servicehelper.BusinessDataServiceHelper; public class MulBasedataFieldSample extends AbstractFormPlugin { /** 单据头.多选基础资料字段 */ private final static String KEY_MULBASEDATAFIELD = "mulbasedatafield"; /** * 演示如何读取、设置字段值; * @param entryRow 单据体行号 * @param subEntryRow 子单据体行号 * @remark * 设置单据体字段,需要在参数中加上行号 */ private void demoFieldValue(
多选基础资料字段
# 1 功能介绍多选基础资料字段,用来选择、录入基础资料数据,可以同时选择多个资料放在一个字段中。# 2 控件对象`kd.bos.form.field.M...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



