RichFaces Problemas com ComboBox

2 respostas
lusilva1982

Estou com um problema muito estranho no ComboBox do RichFaces, já tentei utilizar o Convert mas sem sucesso.
O problema é que não exibe o label e valor dos itens do combobox corretamente, está montado assim:

ManagerBean:

private ArrayList dd_item_pais; // dropdown de países

	public ArrayList getDd_item_pais() {
		buildDropDownPais(); // Prepara o ArrayList para trabalhar com o SelectItem 
		return dd_item_pais;
	}

...
	private void buildDropDownPais(){
		dd_item_pais = new ArrayList();
		Iterator it  = rdao.getAllPais().listIterator(); 

		while( it.hasNext() ){
			Pais pais 	= (Pais) it.next();
			Integer id 	= new Integer(pais.getId_pais()); // valor 
			String nm 	= pais.getNome(); // label

			dd_item_pais.add( new SelectItem(id, nm) );
		}
	}
...

O JSP chama o dropdown da seguinte maneira:

<h:outputText value="Pais RichFaces"/>
		<rich:comboBox converter="paisConverter"
					   id="paises"
					   value="#{regiaoControl.pais}">
			<f:selectItems value="#{regiaoControl.dd_item_pais}"/>
		</rich:comboBox>

Ao redenrizar o componente os labels exibidos não é o nome do pais, como foi montado no método buildDropDownPais.
Não sei mais o que fazer, já tentei de tudo, o componente nativo do JSF <h:selectOneMenu/> funciona perfeitamente, quando eu utilizo o rich:combobox/ surgi esse problema.

Alguém ai pode me ajudar, please!

Thanks.


2 Respostas

O

estranho hein, deveria funfar …

tenta criar o selectItem e em seguida setar o label + value, assim :

SelectItem item = new SelectItem();
item.setValue(grupo.get(i).getCodigo());
item.setLabel(grupo.get(i).getNome());

eu uso assim e funciona 8)

abçs

lusilva1982

Pois é, estou começando a acreditar que é algum bug da versão ou minha instalação que está com algum problema, utilizo alguns componentes sem problema nenhum, porém, em coisas simples assim está com erro, veja este outro exemplo simples usando o suporte pra ajax, simplesmente não funciona:

<h:outputText value="Digite"/><br/>
<h:inputText id="campo" value="">
	<a4j:support event="onkeyup" ajaxSingle="true" reRender="outt"/>
</h:inputText><br/>

<hr/><br/>
[<h:outputText id="outt" rendered="true" value=""/>]

Quero digitar no input e o output ser redenrizado exibindo o valor, mas nada, nenhum erro no console, apenas não funciona, segui o exemplo da documentação do RichFaces.

eh fod* viu…

Criado 7 de julho de 2008
Ultima resposta 8 de jul. de 2008
Respostas 2
Participantes 2