jueves, 24 de septiembre de 2009

Uso alternativo al método estático findAllBy, para filtrar por más de dos criterios

El método estático findAllBy de grails, solo permite hacer consultas teniendo en cuenta máximo dos valores, así:

def listaDeObjetos = Clase.findAllByPropiedad1AndPropiedad2("valor1","valor2")

Si se quiere hacer un filtrado por más de dos propiedades, puede hacerse utilizando el método findAllWhere, así:

def listaObjetos = Clase.findAllWhere(['propiedad1':'valor1', 'propiedad2':'valor2', 'propiedad3':OtraClase.get('valor3'), 'propiedad4':'valor4'])

miércoles, 23 de septiembre de 2009

Pasar parámetro update de una remoteFunction vía Javascript

Si se tiene una función de javascript así:

function nombreFuncion(algunId){
${remoteFunction(action:'action',controller:'controller',update:"div_'+algunId+'")}
}


Donde div_[algunId] es el id del html div que se desea actualizar al finalizar la petición.

Recuerde usar las comillas así:

update:"div_'+algunId+'"

lunes, 7 de septiembre de 2009

Ordenar un arreglo de arreglos, o de objetos

Si se tiene una clase

Usuario:
+id
+nombre
+nick

Y luego, se tiene un arreglo de objetos [Usuario] 'usuarios'

Este arreglo, puede ordenarse así:

usuarios = usuarios.sort{ it.nombre }

Si se trata de un arreglo de arreglos, puede ordenarse así:

listaArreglos = listaArreglos.sort{ it[0] }