Select retornando mais de um campo
27/01/2010 00:00
0
Boa tarde pessoal,

sou iniciante neste fantástico framework e iniciante aqui no forum também.

bom, estava eu "tentando" programar. risos, quando me deparei com uma dúvida em um simples select.

como fazer com que um select retorne mais de um valor?

gostaria que meu select retornasse algo como: "campo1 - campo2"

tentei fazer de diversas formas, tipo:

<g:select name=&quot;unidade.id&quot;
from=&quot;${unidadeList}&quot;
optionKey=&quot;id&quot;
optionValue=&quot;nome ' - ' id&quot;
/>

ou

<g:select name=&quot;unidade.id&quot;
from=&quot;${unidadeList}&quot;
optionKey=&quot;id&quot;
optionValue=&quot;[nome ' - ' id]&quot;
/>

ou

<g:select name=&quot;unidade.id&quot;
from=&quot;${unidadeList}&quot;
optionKey=&quot;id&quot;
optionValue=&quot;[nome + ' - ' + id]&quot;
/>
ou

<g:select name=&quot;unidade.id&quot;
from=&quot;${unidadeList}&quot;
optionKey=&quot;id&quot;
optionValue=&quot;[nome, id]&quot;
/>

etc...

no entanto eu não fui feliz...

tentei tambem apelar para o sql direto

tipo executando a query abaixo no controller.

select
cid.cidade + ' - ' + est.estado cidadesAndEstados unidade
from
cidade cid
inner join
estado est
on
cid.uf = est.uf
where
est.uf = 'BA'

e o maximo que eu consegui foi o retorno tipo este: {unidade= Salvador - Bahia}

alguem poderia me ajudar com essa duvida?

desde já agradeço.

forte abraço.
Tags: Grails


1
Ola aspferreira,

faça o seguinte para a sua select (no exemplo, uma tabela de usuarios exibindo no combo o 'id' e o 'nome'):


<g&#58;select name=&quot;usuario.id&quot; from=&quot;${Usuario.findAll()}&quot; optionKey=&quot;id&quot; optionValue=&quot;${{it.id + ' - ' + it.nome}}&quot; />



Abçs
28/01/2010 00:00


0
Obrigado Herrera.

abs
28/01/2010 00:00


0
Herrera,
Tentei gerar esse optionValue no controller, através do render g.select(from:Collection, id:&quot;id&quot;, name:&quot;name&quot; ...) e não consegui.
Então utilizei um Map para preencher o select desta forma:


def mapUsuarios = [&quot;&quot;&#58;&quot;Selecione&quot;]
Usuario.findAll().each{
mapUsuarios.put( it.id , it.login + &quot; - &quot; + it.nome)
}
render g.select(from&#58;mapUsuarios,id&#58;&quot;selUsuarios&quot;,name&#58;&quot;usuario.id&quot;
,class&#58;&quot;select_usuario&quot;, optionKey&#58;&quot;key&quot;,optionValue&#58;&quot;value&quot;)


Alguém conhece outro modo melhor?

Valeu!
03/02/2010 00:00


0
Ola schmid,

Usando g.select no controller eu não testei, vou dar uma olhada e te falo, ok ?

Herrera
03/02/2010 00:00



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