Pegar valores selectManyListBox

5 respostas
evertonsilvagomesjav

Pessoal tenho meu selectManyListBox dessa forma:

<h:selectManyListbox value="#{produtosDiaBB.valueTipoPlano}" style="width : 300px; height : 60px;"> <f:selectItems value="#{produtosDiaBB.listSelectItemTipoPlano}" /></h:selectManyListbox>

Quando o usuário seleciona mais de um item no listBox como faço pra pegar os values, tem jeito de jogar todos os values em alguma lista?

5 Respostas

A

faz um tempo que eu não uso isso, mas se não me engano, o retorno desse componente é um List, se for tipo String coloca assim:

@ManagedBean(name="produtosDiaBB")
public class SuaClasse{
        List&lt;String&gt; produtosSelecionados;

        /* getter/setter */
}
&lt;h:selectManyListbox value="#{produtosDiaBB.produtosSelecionados}"  
style="width : 300px; height : 60px;"&gt;  
&lt;f:selectItems value="#{produtosDiaBB.listSelectItemTipoPlano}" /&gt;&lt;/h:selectManyListbox&gt;

ai você terá os produtos que você deseja armazenados na variavel produtosSelecionados do tipo List, de lá em diante você já sabe como utilizá-lo correto? :lol:

evertonsilvagomesjav

Andre deu certo consegui pegar os id’s selecionados e jogar para uma Lista de Integer. Agora estranho que quando tento pegar o item da minha lista e jogar em um Integer da ClassCastException :shock:

A

Qual o tipo do objeto que você ta tentando recuperar na tua list?

evertonsilvagomesjav

Integer uai, eu passo um Integer pro id do listBox

public void preencheSelectManyLisTipoPlano(List<SelectItem> listSelectItemTipoPlano, List<TipoPlano> listTipoPlano) { listTipoPlano = getTipoPlanoService().consultaTodos(); if(listTipoPlano != null && listTipoPlano.size() > 0) { for(TipoPlano tipoPlano : listTipoPlano){ listSelectItemTipoPlano.add(new SelectItem(tipoPlano.getCdTipoPlano(), tipoPlano.getDsTipoPlano())); } } }

A

Eu creio que o List<Integer> deveria funcionar, dê uma pesquisada sobre isso, caso contrário, percorra a lista e jogue-a para uma outra do tipo desejado realizando o parse.

Criado 28 de fevereiro de 2012
Ultima resposta 28 de fev. de 2012
Respostas 5
Participantes 2