Utilizar filtros con la función read de UI5

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 🙂


Tu opinión es importante para mi, ¿Te ha resultado útil este artículo?

¿Eres programador/a?

En Pulpo están buscando nuevos talentos, envíales un email a developers@pulpoapp.com.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*