PickList

4 respostas
M

Ola galera eu tow com um probleminha, eu tenho uma pickList e queria colocar um check box dentro dessa pick list

só que não consiguo

eu teno isso:

<rich:pickList switchByClick="false"  >
            <f:selectItems value="#{comboboxex.opcao}"/>
            </rich:pickList>

como eu faço pra implementar o check no picklist

4 Respostas

R

Então cara tentei usar este componente para realizar um relacionamento entre duas tabelas mais por falta de conhecimento no componente e de exemplos prático acabei abandonando-o.

Até gostaria de aproveitar a deixa e perguntar se alguem conseguiu implementar algum exemplo com sucesso e pudese passar um exemplo agradeceria muito.

K

Dando um Up no tópico.

Estou com dificuldades tb no pick-list, alguém conseguiu implementa-lo ?

Só consegui fazer de forma estática, e no livedemo não tem o código do BackingBean pra usar de exemplo…

Oque eu passo de parametro pra popular a lista ?

Abraço

Rodrigo

K

Descobri.

Ai vai.

<rich:pickList id="list">
               <f:selectItems value="#{SessionBean.option}"/>
               
           </rich:pickList>

No backingBean

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.org.system4.MB;


import br.org.system4.DAO.DAOFactory;
import br.org.system4.entity.Type;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.faces.model.SelectItem;
import javax.faces.model.SelectItemGroup;
import javax.swing.text.html.Option;

/**
 *
 * @author rodrigo.klein
 */

public class SessionBean {

    /** Creates a new instance of SessionBean */
    public SessionBean() {
        
              ArrayList<SelectItem> listaSelect = new ArrayList<SelectItem>();  
              
              List listType = DAOFactory.getTypeDAO().getAllTypes(); 
              
              for (Iterator it = listType.iterator(); it.hasNext();) {
            
                  Type type = (Type) it.next();     
                  
                  String id = String.valueOf(type.getTypeid().doubleValue());
                  
                  SelectItem opt = new SelectItem(id, type.getName());
                  
                  listaSelect.add(opt);
                  
              }
              
              this.setOption(listaSelect);
   
    }
    
    private List option;

    public List getOption() {
        return option;
    }

    public void setOption(List option) {
        this.option = option;
    }    
}
K

Isso kleins,

No caso aqui uso:

<rich:pickList id="pickList" onclick="getIdUserPickListJS()" value="#{sistema.cargosAdicionarRemover}" copyControlLabel="#{messages['sistema.label.selecionar']}" copyAllControlLabel="#{messages['sistema.label.selecionar_todos']}" removeControlLabel="#{messages['sistema.label.desfazer_selecao']}" removeAllControlLabel="#{messages['sistema.label.desfazer_todos']}" targetListWidth="200px" sourceListWidth="200px">              	
                <s:selectItems value="#{sistema.cargos}" var="cargo" itemValue="#{cargo}" label="#{cargo.nome}"/>
                <s:convertEntity/>
              </rich:pickList>

Aproveitando o tópico, estou com um problema para inicializar essa picklist com o primeiro objeto já selecionado.

Encontrei uma forma de saber qual o id do item clicado com o script:

jQuery.noConflict();
        (function($) {
            function init_search_picklist() {
                $('td','#avaliacaoForm\\:pickList').click(function() {
                    dataID = $(this).children('input').attr('value');
                    if (dataID != null){
                    	alert(dataID);
                    }
                });
            }
            init_search_picklist();
        })(jQuery);

Esse código vale porque os elementos da picklist são formados por TRs e TDs, e então consigo pegar o value da input hidden quando clico no elemento.

Mas gostaria de inicializá-la após o carregamento da página já com o primeiro elemento selecionado.

Algo como:

Alguma luz? por favor.

Criado 22 de abril de 2008
Ultima resposta 18 de dez. de 2012
Respostas 4
Participantes 4