我是SAPUI5的新手,我正在使用计划日历为员工分配一些时间表。虽然我可以做到,但是如果我要更新已计划的任务,则在弹出式窗口中打开小日历。在该日历中,我想提供对开始日期和结束日期的验证,就好像用户选择开始日期,然后自动为小于开始日期的结束日期日历日期禁用。
共享计划日历的屏幕快照及其参考文档。
Planning calendar documentation
我们将不胜感激。
答案 0 :(得分:2)
您不能使用sap.m.DatePicker的' change '事件吗?如果值更改,请设置日期选择器的“ minDate ”属性。
片段
<DatePicker id="idStartDate" change="onChangeStartDate"/>
<DatePicker id="idEndDate" change="onChangeEndDate"/>
控制器-不要忘记在控制器定义中定义sap.ui.core.Fragment
// don't forget to define Fragment in controller
onChangeStartDate: function(){
var startDate = Fragment.byId("fragId, "idStartDate").getDateValue();
Fragment.byId("fragId, "idEndDate").setMinDate(startDate);
},
onChangeEndDate: function(){
var endDate = Fragment.byId("fragId, "idEndDate").getDateValue();
Fragment.byId("fragId, "idStartDate").setMaxDate(endDate);
}
答案 1 :(得分:0)
只需使用绑定。我假设您的第一个输入字段与{StartDate}
绑定,第二个字段与{EndDate}
然后您可以将第二个DatePickers minDate属性绑定到{StartDate}
,如下所示:
<DatePicker dateValue="{StartDate}"/>
<DatePicker dateValue="{EndDate}" minDate="{StartDate}"/>
(顺便说一句:您可以使用sap.ui.unified.Calendar
进行日期范围选择:Explored Example)