Consultas ordem alfabetica
30/07/2009 00:00
0
Boa noite...
Tenho a seguinte situação:

def dataTableJSON = {
def libera = Libera.list(params)
def formattedLibera = libera.collect{
[
id: it.id,
bloq: it.bloq,
grupo: it.grupo.nome, // Campo a ser ordenado
site: it.site.nome
]
}
def data = [
totalRecords: Libera.count(),
results: formattedLibera
]
render data as JSON
}

Como poderia fazer para que o campo grupo fosse ordenado por por ordem alfabetica?
Obrigado
Tags: Grails


0
Fala geraneto,

Pq vc nao tenta ordenar direto na consulta ao banco, assim o mesmo ja te retorna os valores ordenados ?


def libera = Libera.list(params, [sort:"grupo",order:"asc"])


Acho que é + ou - isso pelo que lembro de cabeça, mas na documentação explica direitinho ....


[]´s

Gil Brandão
30/07/2009 00:00


0
Fiz exatamente como mostrado acima e não funciona da erro. Não sei como proceder nesse caso..
Obrigado
02/08/2009 00:00


0
Leu na documentação sobre ordenação?

http://grails.org/doc/latest
03/08/2009 00:00


0
Olhe melhor na documentação no item
5.5.3 Default Sort Order

lternatively, you can configure sort order at the association level:

class Airport {

static hasMany = [flights:Flight]
static mapping = {
flights sort:'number'
}
}
04/08/2009 00:00


0
Agradeço aos amigos. Encontrei a seguinte solução que para mim que estou aprendendo ainda foi a salvação.
<g:each in=&quot;${liberaInstanceList.sort {it.grupo.nome}}&quot; status=&quot;i&quot; var=&quot;liberaInstance&quot;>

Obrigado a todos !!!
05/08/2009 00:00


0
Oi,

Só lembre-se que desta maneira você está ordenando a lista na aplicação. Se fizer o select usando ordenação já traz do banco da maneira que preferir, evitanndo trabalho na app.

Não é errado, de maneira alguma, apenas #ficaadica

[]s,
05/08/2009 00:00


1
revivendo o tópico aqui...

estou com um problema parecido,
tentei de várias formas definir o sort, order e tudo que encontrei por aí mas nada deu certo,

dessa forma que o geraneto fez funcionou.

O meu caso é o seguinte, tenho os três domains

class Oferta {

static hasMany = [ofertaServidor&#58;Oferta_servidor]

...

static mapping = {
table 'OFERTA'
id column&#58;'id_oferta', generator&#58;'identity'
...
}
}


class Oferta_servidor {

Oferta oferta
Pessoa pessoa
...

static mapping = {
table 'OFERTA_SERVIDOR'
id column&#58;'id_oferta_servidor', generator&#58;'identity'
oferta column&#58;'id_oferta'
pessoa column&#58;'id_pessoa'
...
}

String toString(){
&quot;${pessoa}&quot;
}
}


class Pessoa {

String nm_pessoa_completo
String nm_pessoa_abreviado

static mapping = {
table 'PESSOA'
id column&#58;'id_pessoa'
version false
sort 'nm_pessoa_completo'
}

String toString(){
&quot;${this.nm_pessoa_completo}&quot;
}
}


na tela show de Oferta, tem um campo ofertaServidor que mostra o nm_pessoa_completo do Pessoa, esse campo que não estou conseguindo ordenar...

colocando no gsp
<g&#58;each in=&quot;${ofertaInstance?.ofertaServidor.sort {it.pessoa.nm_pessoa_completo}}&quot; var=&quot;oferta_servidorInstance&quot;>

deu certo mas como o lucastex disse:
Se fizer o select usando ordenação já traz do banco da maneira que preferir, evitanndo trabalho na app.


Vocês poderiam me ajudar nesse caso? Como eu defino essa ordenação no domain?

como disse, já tentei sort, order e nada funcionou, posso estar esquecendo de algum detalhe então espero que possam me ajudar..

valeu!
22/12/2009 00:00


0
Creio que o ideal seja a ordenação na app mesmo, visto que na situação aonde existam muitos registros no banco de dados, a ordenação de alguns usuários irá impactar a performance do banco para todos os demais.
12/06/2013 21:00


0
A dica do erhorn, funcionou perfeitamente no meu!
27/05/2015 13:54



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto