如何在P13nItem TimePicker/DatePicker上更改显示格式?

2020-09-03 10:19发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

当前,我们的DatePickers和TimePickers的显示格式已绑定到加载用户首选格式的模型。 例如,如果用户要在整个应用程序上使用24小时制,则每个TimePicker的显示格式都将为" hh:mm:ss"。

此外,我们在某些视图上使用P13nDialog控件。 P13nFilterPanel的某些列可利用DatePicker和TimePicker控件作为日期或时间进行过滤。 我注意到这些组件是由P13nConditionPanel控件插入的,但是我找不到如何将所需的显示格式绑定到它们。 你们知道我该怎么实现吗?

我尝试修改P13nItem以便将参数formatSettings与包含displayFormat的JSON一起包括在内,但没有用。 这是我的代码示例。

 /ColumnCollectionFilter"
                 }" filterItems =" {
                     路径:" SchedulingFilter>/FilterItems"
                 }">
                 
                 
                     
                 
             
 

(13.0 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

当前,我们的DatePickers和TimePickers的显示格式已绑定到加载用户首选格式的模型。 例如,如果用户要在整个应用程序上使用24小时制,则每个TimePicker的显示格式都将为" hh:mm:ss"。

此外,我们在某些视图上使用P13nDialog控件。 P13nFilterPanel的某些列可利用DatePicker和TimePicker控件作为日期或时间进行过滤。 我注意到这些组件是由P13nConditionPanel控件插入的,但是我找不到如何将所需的显示格式绑定到它们。 你们知道我该怎么实现吗?

我尝试修改P13nItem以便将参数formatSettings与包含displayFormat的JSON一起包括在内,但没有用。 这是我的代码示例。

 /ColumnCollectionFilter"
                 }" filterItems =" {
                     路径:" SchedulingFilter>/FilterItems"
                 }">
                 
                 
                     
                 
             
 

(13.0 kB)
付费偷看设置
发送
5条回答
clever101
1楼 · 2020-09-03 10:42.采纳回答

大家好,

正如我与其他对此线程的贡献者所讨论的那样,我注意到SAPUI5 P13n非常有限。 无法更改这些组件上的时间和日期模式,因此我不得不扩展它们并重载创建DatePicker和TimePicker的方法。

我在SAPUI5的1.44.6版本上扩展了P13nConditionPanel(负责时间/日期组件的实例化)和P13nFilterPanel(创建P13nConditionPanel),它的工作原理很吸引人。 我只需要向DatePicker和TimePicker构造函数添加必要的参数(如下所示)。

案例"日期":
                 oConditionGrid.oFormatter = sap.ui.core.format.DateFormat.getDateInstance();
                 params.displayFormat = DateFormatter.displayFormat();
                 oControl = new sap.m.DatePicker(params);
                 打破;
 案例"时间":
                 oConditionGrid.oFormatter = sap.ui.core.format.DateFormat.getTimeInstance();
                 params.displayFormat = TimeFormatter.getDisplayFormat();
                 oControl = new sap.m.TimePicker(params);

 

我将我的自定义扩展组件代码发布到pastebin上:

自定义P13nConditionPanel

自定义P13nFilterPanel

感谢所有帮助!

一只江湖小虾
2楼-- · 2020-09-03 10:57
Eduardo de Freitas 酷。 然后,将等待您的博客:)问候,Mahesh
落灬小鱼
3楼-- · 2020-09-03 10:54

您好,爱德华多·德·弗雷塔斯

此处进行检查。 看来您可以使用formatSettings属性来传递格式选项。

在formatSettings中,您可以通过'sap/ui/model/type/Date'传递格式设置。 有关更多信息,请参见标准 ui5code

案例"日期":
 oKeyField.typeInstance = new DateType(Object.assign({},oKeyField.formatSettings,{strictParsing:true}),{}); 

谢谢,

Mahesh

绿领巾童鞋
4楼-- · 2020-09-03 10:52

这不起作用。 看来DatePicker/TimePicker控件是由P13nPanel设置的,没有考虑默认模式。

huskylover
5楼-- · 2020-09-03 11:00

sap.ui.getCore()。getConfiguration()。getFormatSettings()。setTimePattern(" the 您想要的格式")

https://ui5.sap.com/#/api/sap.ui.core.Configuration.FormatSettings/methods/setTimePattern

不确定是否会有所帮助。

一周热门 更多>