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

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条回答
lukcy2020
2020-09-20 19:15

请使用路径绑定组合框的属性" selectedKey",以查看数组的默认第一个值。 这里以一个示例为例,我使用了Countrycollection数组并绑定了该数组的第一行

<组合框项=" {路径:'/CountriesCollection',排序器:{路径:'文本'}}""

selectedKey =" {/CountriesCollection/0/key}">


一周热门 更多>