如何刷新(重新加载)SAPUI5 oModel(oData)

How to refresh(reload) SAPUI5 oModel (oData)

本文关键字:加载 SAPUI5 oModel oData 何刷新 刷新 新加载      更新时间:2023-09-26

我有以下问题。我能够正确地调用函数UserDelete来删除SAP侧表中具有用户数据的行,但删除的对象仍在oModel中。如何刷新或销毁并重新创建oModel?我尝试使用:

oModel.destroy();
var oModel = new sap.ui.model.odata.ODataModel("http://plaut0001.plaut.pl:8000/sap/opu/odata/sap/ZUSERINFO_SRV/",true,"developer","gliwice");   
sap.ui.getCore().setModel(oModel);

但在这之后,我得到了以下错误:未捕获的类型错误:无法读取未定义的属性"dataServices"

下面是我用来调用SAP端删除用户功能的代码:

//handle delete button
handleDelete : function(evt) {
    var context = evt.getSource().getBindingContext();
    var oModel = sap.ui.getCore().getModel();
    oModel.callFunction('UserDelete', 'POST', 
            {Userid : context.getProperty("Userid")}, 
            null, 
            function(){sap.m.MessageBox.show("Pomyślnie usunięto");}, 
            function(){sap.m.MessageBox.show("Błąd");}
        );

    sap.ui.getCore().getEventBus().publish("nav", "to", {
        viewId : "app.details.Empty",
        data : "" 
    });

您必须在代码中的remove命令之后绑定服务。请提供您已经尝试过的Jsbin链接示例。