点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我不是SAPUI5的专家,但是我已经从SAP Webide生成的应用程序开始构建了Fiori Applications。 也许这就是我错过某些东西的原因,但是这次我使用的是FIORI模板的最新版本,它无法按预期工作。
模型在manifest.json中定义:
"模型":{ " i18n":{ " type":" sap.ui.model.resource.ResourceModel", "设置":{ " bundleName":" customerexpiredprices.i18n.i18n" } }, "":{ " dataSource":" mainService", " preload":是的, "设置":{ " defaultBindingMode":" TwoWay", " useBatch":是的, " defaultCountMode":"内联" } } },
我想删除一个实体的多行,但是我想在一个请求中删除它,这就是为什么我使用submitChanges调用批处理请求并处理submitChanges中成功或错误事件的原因:
onDeletePress:function(oEvent){ var self = this; //获取模型 var oModel = this.getView()。getModel(); //获取选中的行 var oSelectedContextPaths = this.byId(" idMaterialList")。getSelectedContextPaths(); //每行调用delete 如果(oSelectedContextPaths.length === 0){ MessageBox.error(this.getResourceBundle()。getText(" noSelection"));; }其他{ oSelectedContextPaths.forEach(function(sPath){ this.remove(sPath); },oModel); } this.getModel(" detailView")。setProperty("/img/busy",true); oModel.submitChanges({ 成功:function(oData,sResponse){ MessageToast.show(self.getResourceBundle()。getText(" deleteConditionSuccess"));; self.getView()。getModel()。refresh(true); self.getModel(" detailView")。setProperty("/img/busy",false); }, 错误:function(oError){ self.getModel(" detailView")。setProperty("/img/busy",false); } }); },
submitChanges方法中定义的成功函数和错误函数都不会被调用。 虽然如果我将成功函数附加到remove方法中,则它会被调用,但是每行都会出现。
我没有想到这种行为,而且我很确定我之前做过类似的事情,并且成功从commitChanges中调用。
请帮助...
我怀疑调用'submitChanges'时是否发生了任何事情。 验证是否在"网络"选项卡中。
调用this.remove()时,我怀疑本身已在其中调用了"删除"。
如果您想让" submitChanges"触发调用,则需要使用API" setDeferredGoups"。
也许我不太清楚,但是可以。 批处理请求已发送,但由于我没有收到回调,因此似乎不是由commitChanges方法发送的。
无论如何,非常感谢,如果我定义了自己的延期小组,那就行了!
看起来像这样:
我仍然不明白的是为什么我以前不需要这个。 而且我很确定它在没有显式定义groupId的情况下仍能正常工作。
这是一个旧线程,但是无论如何:
对oModel.remove的调用(没有批处理组)通常会立即触发一个请求。 我个人认为这是一个错误。
致敬莫滕
一周热门 更多>