<rich:comboBox> Não retorna o Id

5 respostas
R

Olá, estou utilizando o componente combobox do rich faces, mais não estou conseguindo recuperar o id da opção selecionada…

<rich:comboBox >
    <f:selectItems value="#{medicamentoBean.tipoMedicamentos}" />
</rich:comboBox>

o metodo que retorna os itens é este:

public List<SelectItem> getTipoMedicamentos()
	{
		Session session = FacesContextUtil.getRequestSession();
		InterfaceDAO<TipoMedicamento> tipoMedicamentoDAO = new HibernateDAO<TipoMedicamento>(TipoMedicamento.class, session);	
		List<TipoMedicamento> tipoMedicamentos = tipoMedicamentoDAO.listar(tipoMedicamento);
		selectTipoMedicamento = new ArrayList<SelectItem>();
		for(TipoMedicamento tipo: tipoMedicamentos)  {
			selectTipoMedicamento.add(new SelectItem(tipo.getTipomedicamentoid().toString(), tipo.getDescricao()));
		}
		return selectTipoMedicamento;
	}

utilizando o metodo dessa forma, o combobox mostra os ID’s ao inves da descrição na combo, se eu inverter os parametros dessa forma:

selectTipoMedicamento.add(new SelectItem(tipo.getDescricao(), tipo.getTipomedicamentoid().toString()));

ele me mostra a descricao, no entanto nao consigo recuperar o Id

esse metodo funcionou perfeitamente usando o <h:selectOneMenu> do jsf, mais quando troquei pela combo do richfaces me deparei com este problema

procurei no forum, achei alguns posts, mais nenhum resolvia o problema

alguem sabe como me ajudar?? ou indicar outro componente que faca autocomplete ??

obrigado

5 Respostas

wamaral

E se voce tentar assim:

<rich:comboBox id=“propriedade” value="#{myBean.myProperties}" >
<f:selectItems value="#{myBean.myList}" />
</rich:comboBox>

R

tentei de todo jeito, mais nao rola mesmo…

acho que esse componente só serve pra autocompletar string

vlw

mlcalache

rafaelhz:
Olá, estou utilizando o componente combobox do rich faces, mais não estou conseguindo recuperar o id da opção selecionada…

&lt;rich:comboBox &gt;
    &lt;f:selectItems value="#{medicamentoBean.tipoMedicamentos}" /&gt;
&lt;/rich:comboBox&gt;

o metodo que retorna os itens é este:

public List&lt;SelectItem&gt; getTipoMedicamentos()
	{
		Session session = FacesContextUtil.getRequestSession();
		InterfaceDAO&lt;TipoMedicamento&gt; tipoMedicamentoDAO = new HibernateDAO&lt;TipoMedicamento&gt;(TipoMedicamento.class, session);	
		List&lt;TipoMedicamento&gt; tipoMedicamentos = tipoMedicamentoDAO.listar(tipoMedicamento);
		selectTipoMedicamento = new ArrayList&lt;SelectItem&gt;();
		for(TipoMedicamento tipo: tipoMedicamentos)  {
			selectTipoMedicamento.add(new SelectItem(tipo.getTipomedicamentoid().toString(), tipo.getDescricao()));
		}
		return selectTipoMedicamento;
	}

utilizando o metodo dessa forma, o combobox mostra os ID’s ao inves da descrição na combo, se eu inverter os parametros dessa forma:

selectTipoMedicamento.add(new SelectItem(tipo.getDescricao(), tipo.getTipomedicamentoid().toString()));

ele me mostra a descricao, no entanto nao consigo recuperar o Id

esse metodo funcionou perfeitamente usando o <h:selectOneMenu> do jsf, mais quando troquei pela combo do richfaces me deparei com este problema

procurei no forum, achei alguns posts, mais nenhum resolvia o problema

alguem sabe como me ajudar?? ou indicar outro componente que faca autocomplete ??

obrigado

Rafael, conseguiu alguma coisa?

R

Consegui, mais usei o componente <rich:suggestionbox > que também faz autocomplete, segui esse tutorial

http://www.lucianosilva.com/2008/07/06/ajax-java-server-faces-com-jboss-richfaces/

alias

Rafael, qual versão do RichFaces voce está usando?

Lembro que tive esse problema com a versao 3.2.alguma.coisa…era realmente um bug grotesco. Pior que eu pensei que estava fazendo alguma coisa errada e passei dias tentando corrigir…pra nada.

De repente na versão 3.3.x isso aí foi acertado…

Criado 17 de maio de 2009
Ultima resposta 14 de set. de 2009
Respostas 5
Participantes 4