页面首次加载时获取选择框的第一项

2020-09-20 18:16发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我有一个摘要屏幕,该屏幕...

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

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


嗨,

我有一个摘要屏幕,该屏幕必须在选择框中加载帐户,并使用oData填充表单中的所有字段,并将其基于URL中的ID。

但是我需要加载选择框以便获得正确的帐户来加载页面的其余部分,并且一旦页面加载就必须已经填充了第一个帐户(因此,没有人在选择框中进行选择)。 我只能在渲染后加载组合框,而不能在onInit上加载,也无法获取选择框的项目以获取帐号。

如果只有一个帐户,我可以加载整个页面,并且可以在选择框中加载所有帐户号码,但是当加载页面时,它不是基于帐户号码的。

有什么更好的方法来加载选择框并能够获取项目以加载页面的其余部分?

获取oData并将其转换为json onInit会更好吗? 如果是这样,我可以举个例子吗,我已经尝试了一些例子,但没有成功。

 onInit:function(){
//获取网址并从中获取ID
         var url = window.location.href;
         var id = url.substring(urlString.length-10,urlString.length);
        $ .sap.urlId = id;
//不工作:SAP Odata服务网址
     var sServiceUrl ="/img/SummaryScreenSet('" + id +"')";
    //创建OData模型
     var oModel = new sap.ui.model.odata.v2.ODataModel(sServiceUrl,{
 useBatch:true});
     var oODataJSONModel = new sap.ui.model.json.JSONModel();
     var oData = oModel.read("/img/SummaryScreenSet",{
 方法:" GET",
 成功:function(oData2,oResponse){
//创建JSON模型
 sap.m.MessageBox.show("成功!");
 oODataJSONModel.setData({modelData:oData2.results});},
 错误:function(oError){
 sap.m.MessageBox.show(" Error!");}});
 },

 onAfterRendering:function(){
 var id = $ .sap.urlId;
         var comboB = this.getView()。byId(" accountBox");
 comboB.bindAggregation(" items","/img/SummaryScreenSet",新的sap.ui.core.ListItem({text:" {ACCOUNT}"})));
 var oFilterDist =新的sap.ui.model.Filter(" PARTNER",sap.ui.model.FilterOperator.EQ,id);
 comboB.getBinding(" items")。filter(oFilterDist);
 },
  
3条回答
当学会了学习
2020-09-20 19:14

嗨..

需要澄清的事情。

1。 为什么要从URL获取ID。

2。 如果要在渲染时填充组合框,则在填充或绑定组合框之后,再调用其余页面数据..正如你所说的,这取决于组合框数据的值..而不是为什么要在Init上调用服务

谢谢

Viplove

一周热门 更多>