Sapui5 如何在DatePicker中设置一周的第一天?

Sapui5 如何在DatePicker中设置一周的第一天?,sapui5,Sapui5,如何在sap.m.DatePicker的日历中设置(自定义)每周的第一天?我可以在sap.ui.unified.calendar中更改一周的第一天,但不能更改sap.m.DatePicker?有什么想法吗?我有我的样本SAPUI5 plnkr .您可以通过以下方式访问handleChange功能中的内部日历: handleChange: function(evt){ evt.oSource._oCalendar.setFirstDayOfWeek(1); } 但这不是访问它的方式。没有

如何在sap.m.DatePicker的日历中设置(自定义)每周的第一天?我可以在
sap.ui.unified.calendar
中更改一周的第一天,但不能更改
sap.m.DatePicker
?有什么想法吗?我有我的样本SAPUI5 plnkr


.

您可以通过以下方式访问handleChange功能中的内部日历:

handleChange: function(evt){
   evt.oSource._oCalendar.setFirstDayOfWeek(1); 
}

但这不是访问它的方式。没有正式的方式访问日期选择器的内部日历。因此,我的建议是通过github在openui5上打开一个功能请求。

我遇到了同样的问题,我解决了这个问题(请参见此扩展ui5控制)sap.m.DatePicker以创建一个新的。然后,我以以下方式扩展了_createPopupContent方法:

MyNewDatePicker.prototype._createPopupContent = function() {
    DatePicker.prototype._createPopupContent.call(this);
    ...
    this._oCalendar.setFirstDayOfWeek(1);
};

如果要为应用程序中的所有日期选择器设置它,可以执行以下操作:

sap.ui.core.LocaleData.getInstance(sap.ui.getCore().getConfiguration().getFormatSettings().getFormatLocale()).mData[“weekData firstDay”]=1


也许有一种方法可以为Fiori LaunchPad下的所有应用程序设置这个参数,但我还没有发现这个技巧

它可能不适用于第一次单击日期选择器,可能适用于后续单击。我们可以在视图的oninit上访问它吗?我检查了Datepicker的源代码,在调用弹出窗口时内部日历被实例化:
Datepicker.prototype.\u createPopupContent=function(){if(!this.\u oCalendar){sap.ui.getCore().loadLibrary(“sap.ui.unified”);jQuery.sap.require(“sap.ui.unified.library”);this._oCalendar=new sap.ui.unified.Calendar(this.getId()+“-cal”,{intervalSelection:this._-bIntervalSelection,minDate:this.getMinDate(),maxDate:this.getMaxDate(),legend:this.getLegend()});
因此当前没有机会访问此onInit!