0

我有下拉列表,这会在我的应用 SAP UI5 中使用 xsodata 服务。此服务在 SAP Web IDE Rest Full 中以本地模式工作,在部署过程中我没有错误,但是当我测试我的应用程序部署时,下拉列表不起作用,我在控制台中收到错误。

List Binding is not bound against a list for /MyEntity

当我在下拉列表中单击时,我收到以下消息:

cdm.js:68 Assertion failed: Type for filter property could not be found in metadata!

就好像服务 xsodata 不存在一样。

PS:此应用部署在 sap cloud Foundry。

更新:

My_controller.js

    onInit: function () {
    
    oModelHana = new sap.ui.model.odata.ODataModel("xsodata/ServiceHana.xsodata", true);
    
    this.oSelEntity = this.byId("inMyDropdown");
    this.oSelEntity.setModel(oModelHana);
}

和 my_view.xml

...
<Label text="Entity"/>
<Select id="inMyDropdown" maxWidth="300rem" items="{/Entity}">
    <c:Item key="{EntityID}" text="{description}"/>
</Select>
...

拜托,你能帮帮我吗?

4

1 回答 1

1

您使用的是哪种 Odata 服务?

sap.ui.model.odata.ODataModel自 UI5 1.48 起已弃用

所以你必须在

sap.ui.model.odata.v2.ODataModel

sap.ui.model.odata.v4.ODataModel

为什么不直接在 manifest.json 中定义模型

清单.json

"dataSources": {
            "xsodataService": {
                "uri": "/xsodata/ServiceHana.xsodata/",
                "type": "OData",
                "settings": {
                    "odataVersion": "4.0"
                }
            },


"models": {
            
            "": {
                "dataSource": "xsodataService",
                "settings": {
                    "synchronizationMode": "None",
                    "operationMode": "Server",
                    "groupId": "$auto",
                    "autoExpandSelect" : true,
                    "earlyRequests": true,
                    "groupProperties": {
                        "default": {
                            "submit": "Auto"
                        }
                    }
                }
            },
于 2020-10-22T13:41:07.110 回答