长日期字段

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

长日期字段

# 变更记录 | 产品版本 | 更新内容 | 更新日期 | | --- | --- | --- | | V6.0.9 | 完善了PC端长日期控件,支持二开参数配置默认时分秒,满足用户使用需求 | 2024-04-10 | | V7.0.1 | 更新了日期字段属性,用户可通过"格式化"属性来设置日期选择面板的交互形态及选择完成后的显示格式 | 2024-10-24 | # 1 功能介绍 用于选择日期和时间的控件。结合 *字段布局面板 *控件使用,布局体验最佳。 # 2 控件对象 `kd.bos.form.field.DateTimeEdit` # 3 视觉展示 * 选择日期和时间(默认态) ![image.webp](/download/0100a854af0f21e14c3f99739d35f32d1a79.webp) * 选择月份(格式化设置yyyy-MM) ![image.webp](/download/0100c2846e3f443945bd88313327030dd582.webp) * 选择年份(格式化设置yyyy) ![image.webp](/download/01006c9444c124d14546804bb70a3b97bfb4.webp) # 4 属性说明 ## 4.1 通用属性 >通用属性包含字段和控件的一些公有的属性,如宽高,帮助文本等。请参考[通用属性](https://vip.kingdee.com/article/215559076720798976) ## 4.2 样式属性 >样式属性是每个控件在设计器右侧样式栏可以设置的属性,请参考[样式属性](https://vip.kingdee.com/article/252017936767406336) ## 4.3 业务属性 | 属性名 | 类型 | 默认值 | 说明 | 支持版本 | | --- | --- | --- | --- | --- | | 格式化 | 下拉 | - | 设置日期控件的交互形态及已选日期的显示格式,详情见[日期字段格式化](https://vip.kingdee.com/knowledge/specialDetail/218022218066869248?category=218035423933468928&id=220180664904104960) | V7.0.1 | | 掩码 | 下拉 | - | 设置日期控件的交互形态 | V7.0.1以后不再支持该属性,可使用格式化属性 | | 格式化字符串 | 文本 | - | 设置日期控件编辑完成后的显示格式 | V7.0.1以后不再支持该属性,可使用格式化属性 | | 缺省值 | 弹框选择 | - | 设置默认展示的日期 | | | 可选范围 | 弹框选择 | - | 设置日期控件的可选范围,不能选择超出范围的日期 | | | 时区转换 | 下拉 | 服务器时区 | 切换时区,长日期字段控制时区信息regiontype | | | 区域类型 | 下拉 | 长日期 | 控制长日期字段显示为短日期格式或者长日期格式,1为短日期,2为长日期 | | | 为空提示信息 | 文本 | - | 当字段内容为空时,输入框内显示的信息 | | | 加密存储 | 复选框 | false | 设置字段是否需要加密存储 | | ### 4.3.1 默认时刻 6.0.9版本新增 `defaultTime` 属性,二开可通过插件进行长日期字段的默认时分秒属性设置: ``` // 单头、卡片字段 this.getView().updateControlMetadata('kdtest_datetimefield', { defaultTime: '10:10:10'}) // 分录字段 var clientViewProxy = this.getView().getClientProxy() clientViewProxy.invokeControlMethod('entryentity', 'setColEditorProp', ['kdtest_datetimefield1', 'defaultTime', '10:10:10']) ``` # 5 长日期接口介绍 ## 5.1 控件编程模型 ### 5.1.1 控件编程模型定义 长日期字段的控件编程模型是DateTimeEdit,派生自字段基类的控件编程模型FieldEdit: ```java package kd.bos.form.field; public class DateTimeEdit extends FieldEdit implements ICloseCallBack { ``` 在插件中,可以通过如下代码,获取长日期字段编程模型: ```java /** * 演示如果获取长日期字段的编程模型 */ private void getFieldEdit(){ DateTimeEdit fieldEdit = this.getView().getControl(KEY_DATETIMEFIELD1); } ``` ### 5.1.2 控件方法清单 长日期字段编程模型,除了支持字段编程模型基类提供的属性方法之外,还提供如下特别方法: | 方法 | 说明 | | --- | --- | | setIsStartDate | 设置字段是否为日期范围中的起始日期; | | getIsStartDate | 获取字段是否为日期范围中的起始日期; | | setRelatedDate | 设置日期范围中另外一个日期字段标识;
如果只是单独录入一个日期值,无需设置此属性值 | | getRelatedDate | 获取日期范围中另外一个日期字段标识;
如果只是单独录入一个日期值,此属性返回空 | | setFormatString | 设置日期格式化字符串,默认格式为 “yyyy-MM-dd hh:mm:ss” | | getFormatString | 获取日期格式化字符串 | | setMinDate | 设置可录入的最小日期 | | setMaxDate | 设置可录入的最大日期 | ## 5.2 数据模型 ### 5.2.1 属性对象 长日期字段运行时,主实体模型中的属性对象类型为DateTimeProp: ```java package kd.bos.entity.property; public class DateTimeProp extends FieldProp { ``` DateTimeProp类型在FieldProp基础上,增加了如下方法: | 方法 | 说明 | | --- | --- | | getDateFormat | 时间格式 yyyy-MM-dd HH:mm:ss | | isUseRegion | 是否使用时区 | | setUseRegion | | ### 5.2.2 字段值 长日期字段值是Date类型,带时分秒。 如下示例代码,演示如何处理单据头、单据体、子单据体上的长日期字段值: ```java package kd.bos.plugin.sample.dynamicform.pcform.field.bizcase; import java.util.Date; import kd.bos.entity.datamodel.IDataModel; import kd.bos.form.field.DateTimeEdit; import kd.bos.form.plugin.AbstractFormPlugin; public class DateTimeEditSample extends AbstractFormPlugin { private final static String KEY_ENTRYENTITY = "entryentity"; private final static String KEY_DATETIMEFIELD1 = "datetimefield"; private final static String KEY_DATETIMEFIELD2 = "datetimefield"; private final static String KEY_DATETIMEFIELD3 = "datetimefield"; /** * 演示如何获取、设置长日期字段值 * * @param entryRow 单据体行号 * @param subEntryRow 子单据体行号 */ private void demoFieldValue(int entryRow, int subEntryRow){ IDataModel dataModel = this.getModel(); // 存取单据头字段值 Date headdatetime = (Date)dataModel.getValue(KEY_DATETIMEFIELD1); dataModel.setValue(KEY_DATETIMEFIELD1, headdatetime); // 存取单据体字段值 Date entrydatetime = (Date)dataModel.getValue(KEY_DATETIMEFIELD2, entryRow); dataModel.setValue(KEY_DATETIMEFIELD2, entrydatetime, entryRow); // 存取子单据头字段值,必须先设置父单据体行号 dataModel.setEntryCurrentRowIndex(KEY_ENTRYENTITY, entryRow); Date subentrytime = (Date)dataModel.getValue(KEY_DATETIMEFIELD3, subEntryRow); dataModel.setValue(KEY_DATETIMEFIELD3, subentrytime, subEntryRow); } } ``` ## 5.3 插件事件 长日期字段支持字段值改变事件,未添加新的插件事件。

长日期字段

# 变更记录| 产品版本 | 更新内容 | 更新日期 || --- | --- | --- || V6.0.9 | 完善了PC端长日期控件,支持二开参数配置默...
点击下载文档
上一篇:移动端工具栏下一篇:长整数字段
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息