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?
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<String> produtosSelecionados;
/* getter/setter */
}
<h:selectManyListbox value="#{produtosDiaBB.produtosSelecionados}"
style="width : 300px; height : 60px;">
<f:selectItems value="#{produtosDiaBB.listSelectItemTipoPlano}" /></h:selectManyListbox>
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:
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:
Qual o tipo do objeto que você ta tentando recuperar na tua list?
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()));
}
}
}
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.