OData实体集在SAPUI5中无法检索

问题描述 投票:1回答:1

我试图从后端获取一些数据,我有以下代码:

我在manifest.json中定义了oData服务:

"DummyName": {
            "type": "sap.ui.model.odata.v2.ODataModel",
            "settings": {
                "defaultBindingMode": "TwoWay",
                "defaultCountMode": "Request",
                "sequentializeRequests": true
            },
            "dataSource": "C_VIEW",
            "preload": true
        }
    }

我在我的控制器中有以下编码:

var oModel = this.getView().getModel("DummyName");

我检索服务然后我可以执行以下操作:

我将获得父节点的路径,并将其保存在变量sPath中。

 var sPath = this.getPath();

既然父节点基本上有两个子节点,我可以使用扩展调用,如下所示:

var subnode1 = oModel.getProperty("/" + sPath + '/subNode1');

到目前为止,这工作得很好,如果我对我的subNode2做同样的事情是不行的:

var subnode2 = oModel.getProperty("/" + sPath + '/subNode2');

变量subnode2将保持未定义,我检查了控制台中的oModel并看到了一些奇怪的行为:

对于那个subnode1我会看到一个___list:我可以打开并找到我可以用sPath +扩展检索的确切子节点,对于subnode2我看到的是一个带有一些超级奇怪URI的__defereed:,也许有人知道这里缺少什么?

odata sapui5
1个回答
0
投票

我找到了一种方法来做到这一点,我认为它可能对其他人有帮助,如果这有助于你给一个+1 :)

我绑定List我将直接使用元数据执行此操作:

<List id="myListId" class="sapUiResponsiveMargin" width="auto" 
            items="{
                path: 'Alias>/I_CdsView',
                parameters: {expand: 'subNode1,subNode2'},
                }]
            }"
        >

顺便说一下:在subNode1和subNode2之间没有空格是非常重要的,只有一个逗号分隔两者,在那里也浪费了几分钟,因为我在逗号之后使用了一个空格。

© www.soinside.com 2019 - 2024. All rights reserved.