<h:selectOneMenuid="idProduto"value="#{MBMovimentacao.movItensBean.idProduto.idProduto}"converter="SimpleIndexConverter"><f:selectItemitemValue=""itemLabel="Selecione uma opção"/><f:selectItemsvalue="#{MBMovimentacao.itensProduto}"/></h:selectOneMenu>
O código esta perfeitamente funcionando, o problema é que não consigo pegar o código e a descrição ao mesmo tempo.
ola… eu não sei direito… mas da para pegar o codigo e a descrição ao mesmo tempo??
<h:selectOneMenu id="idProduto" value="#{MBMovimentacao.movItensBean.idProduto.idProduto}"
no seu codigo esta definido que o valor vai ser o id do produto… pega esse id e depois consulta sua descrição… é uma saida…
Gabriel_Galhardi
acho que o amigo de cima está correto, tb não conheço uma outra forma.
filipenf
Não sei como está o seu converter, mas quando você usa converter deve enviar o bean para o select item e não o id. Ou seja, passe a instância do produto para primeiro parâmetro do construtor do SelectItem.
S
Sergio_2006
Esta alternativa eu tinha pensado, mas achei que poderia ser um pouco custoso na performance, uma vez que terá que realizar a consulta a base de dados, e em seguida adicionar a uma lista todos os itens que serão selecionados no combo…
Eu tambem tentei varias outras formas tambem mais não consegui pelos outros metodos do componente.
valeu galera.
Gabriel_Galhardi
se possivel, guarde a lista que popula a combo na sessão, e quando recuperar o id percorra a lista e pegue o vo.
filipenf
Não vejo diferença significativa qto à performance da forma como você está fazendo em relação à usar um conversor. à não ser que resolva colocar tudo no escopo de sessão, isso evita consulta no BD mas também consome memória. Além do que, se você usa Hibernate, o mecanismo de cache dele é muito bom, e nem sempre que você executa uma query significa uma nova consulta no BD.
Sergio_2006:
Esta alternativa eu tinha pensado, mas achei que poderia ser um pouco custoso na performance, uma vez que terá que realizar a consulta a base de dados, e em seguida adicionar a uma lista todos os itens que serão selecionados no combo…
Eu tambem tentei varias outras formas tambem mais não consegui pelos outros metodos do componente.