Para filtrar la consulta a Hana DB de nuestra tabla usuarios recordamos que la consulta era:
var oModel = this.getModel(); oModel.read( "/Users", { async : true, success : function(oData, oResponse) { console.log(oData); }, error : function(oError){ console.log(oError); } } );
Vamos a añadir dos filtros, uno por edad y el otro por idioma. Los creamos con el modelo Filter:
var filterLang = new sap.ui.model.Filter({ path: "idioma", operator: sap.ui.model.FilterOperator.EQ, value1: "es" }); var filterAge = new sap.ui.model.Filter({ path: "edad", operator: sap.ui.model.FilterOperator.EQ, value1: 53 });
Creamos un array y los añadimos:
var filtersArray = new Array(); filtersArray.push(filterLang); filtersArray.push(filterAge);
Y luego añadimos el array de filtros a la función read:
oModel.read( "/Users", { filters: filtersArray, async : true, success : function(oData, oResponse) { console.log(oData); }, error : function(oError){ console.log(oError); } } );
Con lo que el código completo quedaría algo como:
var filterLang = new sap.ui.model.Filter({ path: "idioma", operator: sap.ui.model.FilterOperator.EQ, value1: "es" }); var filterAge = new sap.ui.model.Filter({ path: "edad", operator: sap.ui.model.FilterOperator.EQ, value1: 53 }); var filtersArray = new Array(); filtersArray.push(filterLang); filtersArray.push(filterAge); var oModel = this.getModel(); oModel.read( "/Users", { filters: filtersArray, async : true, success : function(oData, oResponse) { console.log(oData); }, error : function(oError){ console.log(oError); } } );
Espero os ayude 🙂