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

教你轻松搞定日期控件——可选/不可选日期的控制

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

教你轻松搞定日期控件——可选/不可选日期的控制

用户场景:

对于日期以及长日期控件来说,在不同的业务场景下,同个日期的可选与否,可能会存在差异。举个例子来讲,我们将日期控件用在工作日历上,对于部门A来讲,他们可能是周一到周五是上班的;对于部门B来讲,他们可能是周一到周二,周三到周六这样的上班时间,那么,日期控件的设定就要求变得比较灵活,需要针对不同部门,不同角色进行设置。

读完本文,你能轻松掌握在不同业务场景下日期控件可选/不可选日期的控制



功能介绍:

在日期控件进行初始化时,日期控件会向后台发送 changeYear 事件,参数为当前年份。在后台接收到该事件后,通过在插件实现resetDateFilter方法,并根据业务设置 excludeDates includeDates 返回参数,就可以一次性设置好一年的可选和不可选的日期。

另外,在日期年份切换时,我们也会发送changeYear 事件,参数为对应的年份。而后台还是一样的操作,返回指定年份的可选或者禁选日期即可。

如下图所示,后台返回的响应中,设置了 exculdeDates,日期控件中的对应日期就为禁选状态:



将响应的数据 excludeDates 换为 includeDates 的话,日期控件中的日期就变成了可选状态:


操作代码:

后端的操作代码如下:

import java.text.DateFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.EventObject;
import java.util.List;
import kd.bos.form.control.events.UploadListener;
import kd.bos.form.field.DateTimeEdit;
import kd.bos.form.field.events.DateClickListener;
import kd.bos.form.field.events.ResetDateFilterEvent;
import kd.bos.form.plugin.AbstractFormPlugin;
public class Atest extends AbstractFormPlugin implements UploadListener,DateClickListener{
        @Override        
        public void registerListener(EventObject e) {                
            super.registerListener(e);                
            DateTimeEdit edit1 = this.getControl("datefield");                
            edit1.addDateClickListener(this);                
        }                 
        
        @Override     
        public void resetDateFilter(ResetDateFilterEvent arg0) {         
            int year = arg0.getFocusedYear();         
            List<Date> list = new ArrayLi

教你轻松搞定日期控件——可选/不可选日期的控制

用户场景:对于日期以及长日期控件来说,在不同的业务场景下,同个日期的可选与否,可能会存在差异。举个例子来讲,我们将日期控件用在工作...
点击下载文档文档为doc格式

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

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