<rich:combobox nao lista os valores vindo do bean [RESOLVIDO]

5 respostas
francis.junio

Boa tarde galera,

meu problema é o seguinte: Estou fazendo uma tela e desejo utilizar o componente <rich:combobox do richFaces e esse componente nao lista os valores vindo do meu bean nem a pau.rsrs… Abaixo segue o meu codigo.

<rich:comboBox defaultLabel="Selecione uma condição" value="#{pesquisaGeneric.item}">
      <f:selectItem itemValue="#{pesquisaGeneric.list}" />
</rich:comboBox>

Meu bean esta assim:

private List<SelectItem> list = new ArrayList<SelectItem>();
private SelectItem item = new SelectItem();

//---GETTERS AND SETTERS ------

public void getFields(){		
		pesquisaGenericFacade = new PesquisaGenericFacede<T>();
		
		Field[] f = pesquisaGenericFacade.getFields(clazz);		
		
		item.setLabel(f[0].getName().toString());
		item.setValue(f[0].getName().toString());
		item.setDescription(f[0].getName().toString());
		item.setDisabled(false);	
		
		list.add(item);		
				
	}

Eu debuguei e o list esta sendo populado corretamente. Andei dando uma pesquisada no forum e ninguem postou alguma resposta valida para esse caso.

Aguardo retorno de quem puder ajudar.
Muito obrigado a todos.

5 Respostas

programadora

Oi…
tenta substituir

<f:selectItem itemValue="#{pesquisaGeneric.list}" />

por

<f:selectItems value="#{pesquisaGeneric.list}" />
lucianotome

O richfaces combobox não é como um h:selectOneMenu, ele recebe uma lista de strings.

The component provides editable combobox element on the page.

Combo Box is a simplified select based version of Suggestion Box component, which uses

  • client side suggestions
  • declarative definition with f:selectItem(s) components
    [color=red]* a list of string objects[/color]

When using selectItem(s) for suggestion definition you should define only value of the selectItem. It is used both for displaying and storing

francis.junio

Bom dia a todos,

Programadora,
Fiz o que você indicou, mas ocorrou o seguinte erro.

javax.servlet.ServletException: Value 'java.lang.String' of tag <selectItem> attribute is incorrect.

Luciano,

Teria como você colocar um exemplo aqui no forum para sanar essa duvida que parece ser de muita gente?
Fico muito agradecido.

programadora

Seguinte, esse ocorreu porque o o value do teu comboBox está apontando para um SelectItem, se vc fizer ele apontar para uma string, provavelmente vai dar certo…
Não sei se essa solução te ajuda em alguma coisa, mas…

tenta mudar isso aki:

<rich:comboBox defaultLabel="Selecione uma condição"  value="#{pesquisaGeneric.itemString}">  
       <f:selectItems value="#{pesquisaGeneric.list}" />   
 </rich:comboBox>
francis.junio

Galera, para finalizar o topico eu vou deixar a soluçao.

Eu deixei o <rich:comboBox de lado e passei a utilizar o h:selectOneMenu.

//esse value tem que apontar para um String
<h:selectOneMenu  value="#{pesquisaGeneric.parametroPesquisa.field}" style="width:150">
 //Esse selectItems tem que apontar para um List<SelectItem>. 
<f:selectItems value="#{pesquisaGeneric.listFieldCombo}" />

É a mesma coisa que a “Programadora” deixou no ultimo post. Mas eu nao estava conseguindo fazer com o rich nao sei pq entao utilizei o <h:selectOneMenu.

Obrigado a todo que ajudaram…

Criado 20 de maio de 2010
Ultima resposta 27 de mai. de 2010
Respostas 5
Participantes 3