Ajuda com <h:selectOneMenu>

3 respostas
nandobgi

Pessoal estou tendo problemas com esse componente, consigo listar normalmente os dados mas quando tento editar um registro o componente não apresenta o item selecionado, mostrando sempre o primeiro item da lista.

public List&lt;SelectItem&gt; getComboGrupos() {
		Session session = HibernateUtil.currentSession();
		Dao&lt;GrupoWorkflow&gt; dao = new Dao&lt;GrupoWorkflow&gt;(session,GrupoWorkflow.class);
		List&lt;SelectItem&gt; lista = new ArrayList&lt;SelectItem&gt;();
		
		lista.add( new SelectItem("",""));
		for ( GrupoWorkflow grupo : dao.listAll()) {
			lista.add( new SelectItem(grupo.getId_grupo_workflow(),grupo.getDescricao()));
		}
		return lista;
	}
&lt;h:outputText value="Fluxo" /&gt;
	 &lt;h:selectOneMenu id="selectGrupos" value="#{workflowUsuarioHandler.grupoWorkflowUsuario.grupoWorkflow.descricao}" styleClass="inputText"&gt;
   	       &lt;f:selectItems value="#{workflowUsuarioHandler.comboGrupos}"/&gt;
	&lt;/h:selectOneMenu&gt;

Utilizando o componente <h:outputText value="#{workflowUsuarioHandler.grupoWorkflowUsuario.grupoWorkflow.descricao}"/> consigo visualizar o grupo selecionado.

Alguém poderia me ajudar?

Grato

3 Respostas

joaosouza

Olá nandobgi desculpe por postar uma dúvida em seu post, mas estou com um problema parecido…

Eu tambem estou passando por um problema igual, tenho 3 combos aninhados e quando seleciono um registro para a alteração a página é carregada com os demais campos preenchidos, mas os combos não.

Será que alguem poderia me ajudar ?

Obrigado a todos.

rponte

Olá nadobgi,

O value dos teus SelectItem’s são os Id’s de cada grupo, grupo.getId_grupo_workflow() (integer?), e no teu componente h:selectOneMenu você está com o atributo value passando a descrição quando deveria ser o Id do grupo,
<h:selectOneMenu … value="#{workflowUsuarioHandler.grupoWorkflowUsuario.grupoWorkflow.descricao}" >

Tente corrigir isso, assim acredito que você conseguirá o que quer.
Abraços e boa sorte.

nandobgi:
Pessoal estou tendo problemas com esse componente, consigo listar normalmente os dados mas quando tento editar um registro o componente não apresenta o item selecionado, mostrando sempre o primeiro item da lista.

public List&lt;SelectItem&gt; getComboGrupos() {
		Session session = HibernateUtil.currentSession();
		Dao&lt;GrupoWorkflow&gt; dao = new Dao&lt;GrupoWorkflow&gt;(session,GrupoWorkflow.class);
		List&lt;SelectItem&gt; lista = new ArrayList&lt;SelectItem&gt;();
		
		lista.add( new SelectItem("",""));
		for ( GrupoWorkflow grupo : dao.listAll()) {
			lista.add( new SelectItem(grupo.getId_grupo_workflow(),grupo.getDescricao()));
		}
		return lista;
	}
&lt;h:outputText value="Fluxo" /&gt;
	 &lt;h:selectOneMenu id="selectGrupos" value="#{workflowUsuarioHandler.grupoWorkflowUsuario.grupoWorkflow.descricao}" styleClass="inputText"&gt;
   	       &lt;f:selectItems value="#{workflowUsuarioHandler.comboGrupos}"/&gt;
	&lt;/h:selectOneMenu&gt;

Utilizando o componente <h:outputText value="#{workflowUsuarioHandler.grupoWorkflowUsuario.grupoWorkflow.descricao}"/> consigo visualizar o grupo selecionado.

Alguém poderia me ajudar?

Grato

nandobgi

Rafael deu certo sim, muito obrigado pela ajuda, estou iniciando em JSF agora e essas dúvidas iniciantes sempre surgem.

Abraços

Criado 18 de agosto de 2008
Ultima resposta 19 de ago. de 2008
Respostas 3
Participantes 3