绑定OData服务以查看

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

我想将oData服务绑定到SAPUI5视图但不绑定。如何解决这个问题?

tes.view.xml

<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m"
        controllerName="tes.tes">
    <Page title="Title">
        <content>
            <Label text="Hai dunia!"></Label>

            <List
                headerText="Products"
                items="{
                    path: '/DATA'
                    }" >
                    <StandardListItem
                        title="{NAME}"
                        counter="{DESC}"/>
            </List>
        </content>
    </Page>
</mvc:View>

tes.controller.js

sap.ui.define([
        'jquery.sap.global',
        'sap/m/MessageToast',
        'sap/ui/core/Fragment',
        'sap/ui/core/mvc/Controller',
        'sap/ui/model/json/JSONModel'
    ], function(jQuery, MessageToast, Fragment, Controller, JSONModel) {
    "use strict";

    var CController = Controller.extend("tes.tes", {

        onInit : function () {
            var model = new sap.ui.model.odata.ODataModel("http://192.168.78.23:8000/Tes/WebContent/tes/data.xsodata", false);
            console.log(model);
            var model2 = new JSONModel(model);
            this.getView().setModel(model2);

        }

    });
    return CController;

});

data.xsodata

service namespace "tes" {
    "HANATES"."USER" as "DATA"; 
}

项目结构:

Project Structure

数据:

JSON Data

数据未绑定到视图SAPUI5。

谢谢。

鲍比

sapui5
1个回答
1
投票

问题在于你的模型:

  1. var model = new sap.ui.model.odata.ODataModel("http://192.168.78.23:8000/Tes/WebContent/tes/data.xsodata", false); - 这一步是对的。您正在创建一个oData模型。
  2. var model2 = new JSONModel(model); - 这是一个问题。 JSONModel构造函数将接受从中加载JSON的URL或JS对象,但是您正在传递OData Model实例。此步骤不会从oDataModel获取数据。
  3. this.getView().setModel(model2);' - Change this to this.getView()。setModel(model);` - 使ODataModel成为您要查看的默认模型(因为您已在视图中完成了绑定 - / data。)

注意:如果要将JSONModel绑定到视图,则:

  1. 调用ODataModel.read方法从Server获取数据。
  2. 在oDataModel.read的Sucess处理程序中,将数据复制到JSON Model。
  3. 绑定相应的JSON模型进行查看。

链接:对于OdataModel读取方法https://openui5.hana.ondemand.com/#docs/api/symbols/sap.ui.model.odata.ODataModel.html#read

如果您需要更多信息,请告诉我。

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