如何在XML视图选择中设置默认值

2020-09-22 06:32发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我有一个带有选择列表...

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

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


大家好,

我有一个带有选择列表的编辑屏幕。 我通过填充命名模型来获得该列表。 我相信这是一个非常标准的方法。 但是,我不知道如何在"选择"上设置默认值。 我已经读过有关如何使用json.view做到这一点的文章,但我正在使用xml视图。

这是component.js声明:

 this.setModel(new sap.ui.model.json.JSONModel()," myStatusModel"); 

这是我的控制器的初始化:

 var oStatusModel = new sap.ui.model.odata.ODataModel("/img/sap/opu/odata/sap/ZCRM_OPPORTUNITY_SRV");
 var that = this;
 oStatusModel.read(" UserStatuses",{
 成功:function(oData){
 var myStatusModel = that.getOwnerComponent()。getModel(" myStatusModel");
 myStatusModel.setData(oData.results);
 },
 错误:function(error){
 MessageToast.show("糟糕!");
 }
 });
 

当然还有我的视图(只是选择部分):

 <选择id =" userStatus"
         items =" {myStatusModel>/}"
         change =" onUserStatusChange">
 
 
 

所选内容默认为列表中的第一项。 我在模型的{UserStatusText}元素中具有默认值,但不知道如何将其设置为默认值。 也许我不应该使用Select?

我已经阅读了有关在后端进行更改的建议,但这并不是我真正的选择。

任何建议都将不胜感激...谢谢!

格雷格

3条回答
小c菟菟
2020-09-22 07:00

这就是我的解决方法。 有点骇客,但确实有效。

当我加载命名模型时,我会浏览odata.results并将所选的模型放在第一位,这将是默认值。 我将按数字说明我所做的事情。

1。 获取获取当前UserStatusCode所需的路径。

2。 获取当前的UserStatusCode。

3。 在oData.results的七个选项列表中,按索引查找哪个是当前选项。

4。 重新排序oData.results,将当前值的索引放在位置0。

我对此并不完全满意,因此我不会在几天内将其发布为答案,以使人们有机会做得更好。 再说一次,只有7行代码。

 var oStatusModel = new sap.ui.model.odata.ODataModel("/img/sap/opu/odata/sap/ZCRM_OPPORTUNITY_SRV");
 var that = this;
 oStatusModel.read(" UserStatuses",{
 成功:function(oData){
 1-> var sPath = that.getView()。getBindingContext()。getPath();
 2-> var sCurrentStatusCode =
                    that.getView()。getBindingContext()。oModel.oData [sPath.substring(1)]。UserStatusCode;
 3-> for(var i = 0; i  oData.results.splice(0,0,oData.results.splice(i,1)[0]);
 }
 }
 var myStatusModel = that.getOwnerComponent()。getModel(" myStatusModel");
 myStatusModel.setData(oData.results);
 },
 错误:function(error){
 MessageToast.show("状态模型拒绝绑定。AwwSnap!");
 }
 });
 

一周热门 更多>