Ajuda comboBox JSF

3 respostas
Deluxe

galera
eu tenho uma lista vinda de um banco,
nela tem nome, data, telefone varias coisas…

como eu faco pra jogar somente meus nomes em um comboBox?
como fica esse metodo no java
e como eu chamo no jsf?

obrigado

3 Respostas

T

Primeiro, você deve ter uma lista de SelectItem;

private List<SelectItem> lista;

public List<SelectItem> getLista(){
    List<Pessoa> pessoaList = findAll(); //Sua lista do banco de dados
    lista = new ArrayLista<SelectItem>(pessoaList.size());
    for(Pessoa item : pessoaList){
        lista.add(new SelectItem(item.getCodPessoa(), item.getNome());
    }
}
e como eu chamo no jsf?

Quando você associar os itens do comboBox a lista, ele procura o getLista() para carregar o componente, por isso que escrevi o algoritmo no getLista(), nada impede de escrever em um outro método e chamar de dentro do getLista().

Espero ajudar.

nandobgi

E ai blz?

Se você for usar o componente <h:selectOneMenu> você vai precisar de uma lista de SelectItem.

Ex:

public List&lt;SelectItem&gt; getSelectProfiles() {

		List&lt;SelectItem&gt; lista = new ArrayList&lt;SelectItem&gt;();
		Dao&lt;Profile&gt; dao = new Dao&lt;Profile&gt;(HibernateUtil.openSession(), Profile.class);

		for ( Profile profile : dao.listAll()) {
			lista.add( new SelectItem(profile.getId_profile(), profile.getName().toString() ));
		}
		return lista;
	}

Na view:

&lt;h:selectOneMenu&gt;
          &lt;f:selectItems value="#{seuManagedBean.selectProfiles"/&gt;   
    &lt;/h:selectOneMenu&gt;

Espero ter ajudado.

[ ]'s

Deluxe

pra select do tipo radio eh do mesmo jeito?

Criado 5 de agosto de 2008
Ultima resposta 5 de ago. de 2008
Respostas 3
Participantes 3