#sapui5
#sapui5
Вопрос:
Я не могу сбросить PlanningCalendar обратно к начальной начальной дате. Итак, после нажатия на сегодня или стрелок перехода назад или вперед невозможно вернуться к начальной дате начала. Я не уверен, правильно ли я это делаю, но вы можете найти рабочий пример здесь
Вот контроллер
sap.ui.define(
[
'sap/ui/core/mvc/Controller',
'sap/ui/model/json/JSONModel',
'sap/ui/model/resource/ResourceModel',
'sap/m/MessageToast'
],
function (Controller, JSONModel, ResourceModel, MessageToast) {
'use strict';
var PageController = Controller.extend('view.Main', {
onInit: function () {
var oModel = new JSONModel();
oModel.setData({...});
var oView = this.getView();
oView.setModel(oModel);
},
dateFormatter: function (sDate) {
return new Date(sDate);
},
resetStartDate: function () {
var oView = this.getView();
var oPlanningCalendar = oView.byId('PC1');
var startDate = oPlanningCalendar.getStartDate();
oPlanningCalendar.setStartDate(startDate);
MessageToast.show("'resetStartDate' event fired.");
},
handleStartDateChange: function (oEvent) {
var oView = this.getView();
var oPlanningCalendar = oView.byId('PC1');
var startDate = oPlanningCalendar.getStartDate();
MessageToast.show("'startDateChange' event fired.nnNew start date is " startDate.toString());
}
});
return PageController;
}
);
Ответ №1:
проблема заключается в следующих двух строках кода.
var startDate = oPlanningCalendar.getStartDate();
oPlanningCalendar.setStartDate(startDate);
Вы получаете дату из текущего календаря планирования, а затем возвращаете ей дату.
Это означает, что вы ничего не делаете.
Возможно, вам нужно получить начальную дату в начале календаря планирования. Не в то время, когда вы хотите выполнить сброс.
Комментарии:
1. Спасибо, я думал, что getStartDate() возвращает начальную или начальную дату календаря планирования, но, похоже, он возвращает начальную дату текущего представления