sap.m.PlanningCalendar要根据开始日期和结束日期禁用日期

时间:2018-08-08 15:11:21

标签: sapui5

我是SAPUI5的新手,我正在使用计划日历为员工分配一些时间表。虽然我可以做到,但是如果我要更新已计划的任务,则在弹出式窗口中打开小日历。在该日历中,我想提供对开始日期和结束日期的验证,就好像用户选择开始日期,然后自动为小于开始日期的结束日期日历日期禁用。

共享计划日历的屏幕快照及其参考文档。

update scheduled dates

Planning calendar documentation

我们将不胜感激。

2 个答案:

答案 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