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

用户场景:
对于日期以及长日期控件来说,在不同的业务场景下,同个日期的可选与否,可能会存在差异。举个例子来讲,我们将日期控件用在工作日历上,对于部门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格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



