Como impedir a chamada de serviço OData na alteração de modelo
Eu tenho uma tabela sap.m. cujos "itens" estão vinculados ao modelo oData v2. Preciso excluir o item ao clicar no ícone excluir. Aqui está o que eu faço: Ao clicar no ícone de exclusão, obtenho todas as linhas do modelo, excluo a que está em questão e defino a propriedade do modelo novamente. No entanto, como o modelo é alterado, ele dispara uma ida e volta de back-end e traz os dados mais recentes e a tabela mostra as linhas originais novamente.
Tentei definir o modo de ligação como OneTime, mas isso não funciona. Também tentei definir RefreshAfterChange como false, mas mesmo assim o serviço foi chamado novamente.
Aqui está o meu código -
Controlador
onInit: function() {
var oModel = new sap.ui.model.odata.v2.ODataModel("url", {
json: true,
useBatch : false,
refreshAfterChange: false,
defaultBindingMode: "OneTime"
});
this.getView.().setModel(oModel, "model1");
},
onDeleteIconPress : function(oEvent) {
// get the selected row
// get all the rows in oOriginalRows
// loop over oOriginalRows and delete the selected row from it
// set the model to reformed oOriginalRows
this.getView().getModel("omodel1").setProperty("/", oOriginalRows);
// Till this point every thing looks fine. I can see changes in the model
// refresh is called automatically and data service triggers backend call
// This fetches original data again and table shows all data again
}
Como não posso acionar a ida e volta novamente? Eu preciso atualizar o local