电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

多选基础资料字段

来源:金蝶云社区作者:金蝶2024-09-2310

多选基础资料字段

# 1 功能介绍 多选基础资料字段,用来选择、录入基础资料数据,可以同时选择多个资料放在一个字段中。 # 2 控件对象 `kd.bos.form.field.MulBasedataEdit` # 3 视觉展示 * 默认展示 ![image.webp](/download/0100543dc8219d6946fd88d6fb0783bb9e71.webp) * 模糊搜索 ![duobasedate.webp](/download/01009cef5b9a067d406d97400a5088b919b8.webp) # 4 属性说明 ## 4.1 通用属性 >通用属性包含字段和控件的一些公有的属性,如宽高,帮助文本等等。请参考[通用属性](https://vip.kingdee.com/article/215559076720798976) ## 4.2 样式属性 >样式属性是每个控件在设计器右侧样式栏可以设置的属性,请参考[样式属性](https://vip.kingdee.com/article/252017936767406336) ## 4.3 业务属性 | 属性名 | 类型 | 默认值 | 说明 | | --- | --- | --- | --- | | 组织职能 | 弹框选择 | - | | | 多行 | 复选框 | false | 开启多行属性后,多选基础资料可以换行显示 | 其他业务属性请参考[基础资料](https://vip.kingdee.com/knowledge/specialDetail/218022218066869248?category=218035461581541632&id=221670300038589696) # 5 多选基础资料接口介绍 ## 5.1 控件编程模型 ### 5.1.1 控件编程模型定义 多选基础资料字段,控件编程模型为MulBasedataEdit,派生自基础资料控件编程模型BasedataEdit: ```java package kd.bos.form.field; public class MulBasedataEdit extends BasedataEdit { ``` ### 5.1.2 控件方法清单 MulBaseDataEdit,重写、增加如下方法: | 方法 | 说明 | | --- | --- | | click | 用户点击前端控件按钮时,调用此方法:
构建列表过滤条件,触发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格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信