Alguem tem algum exemplo PrimeFaces DataGrid - Drag and Drop?

4 respostas
Tiago_Casanova

Alguém tem algum exemplo(view,Bean,pojo) pois não estou conseguindo, tentei implementar o exemplo http://www.primefaces.org/showcase/ui/dndGrid.jsf mas sem exito…Tentei mudar o jar do primefaces para o 3.4, mas tbm nao funcionou.

4 Respostas

Aleksandro

Mas porque não funcionou ? Qual foi o erro que aconteceu ? acredito que se olharmos o log poderemos te ajudar

T

amigo eu estou criando uma aplicação um site de pizzaria para o TCC da faculdade usando o primefaces com datagrid junto com drag e drop sem problemas, inclusive a tela dos pedidos sao paineis que voce arrasta pra dentro da caixa de seleção estou usando a ultima versão disponível do primefaces sem problemas diga exatamente o que acontece para que possamos lhe ajudar.
Abraços!

Tiago_Casanova

Então quando arrasto um produto que esta no dataGrid e tento jogar ele para dentro do meu dataTable ele não adiciona. Pior que no log não aparece nada.
Segue meu código da view e meu bean

<h:panelGrid columns="2" cellpadding="5">
                        <h:outputText  value="Cliente:"  />
                        <p:selectOneMenu id="cliente" value="#{orcamentoBean.orcamento.cliente}" required="true" requiredMessage="Selecione um Cliente!">
                            <f:selectItem itemLabel="Selecione Cliente..." itemValue="" noSelectionOption="true" />
                            <f:selectItems value="#{orcamentoBean.listarclientes}" var="c" itemLabel="#{c.nome}"   itemValue="#{c.id}"/>
                        </p:selectOneMenu>

                        <h:outputText  value=""  />
                        <p:fieldset legend="Produtos">
                            <p:dataGrid id="availableProdutos" var="pro"
                                        value="#{orcamentoBean.produtosSmall}" columns="5">
                                <p:column>
                                    <p:panel id="pnl" header="#{pro.nome}" style="text-align:center">
                                        <h:panelGrid columns="1" style="width:100%">
                                            <p:graphicImage value="/images/12176.jpg"/>
                                        </h:panelGrid>
                                    </p:panel>
                                    <p:draggable for="pnl" revert="true"
                                                 handle=".ui-panel-titlebar" stack=".ui-panel"/>
                                </p:column>
                            </p:dataGrid>
                        </p:fieldset>




                        <h:outputText  value=""  />
                        <p:fieldset id="selectedProdutos" legend="Selected Produtos" style="margin-top:20px">  

                            <p:outputPanel id="dropArea">  

                                <h:outputText value="!!!Drop here!!!"  
                                              rendered="#{empty orcamentoBean.droppedProdutos}"  
                                              style="font-size:24px;" />  

                                <p:dataTable var="car" value="#{orcamentoBean.droppedProdutos}"  
                                             rendered="#{not empty orcamentoBean.droppedProdutos}">  

                                    <p:column headerText="Nome:">  
                                        <h:outputText value="#{pro.nome}" />  
                                    </p:column>  

                                    <p:column style="width:32px">  
                                        <p:commandButton update=":form:display"  //no meu form esta < form id="form">
                                                         oncomplete="carDialog.show()"  
                                                         icon="ui-icon-search">  
                                            <f:setPropertyActionListener value="#{pro}"  
                                                                         target="#{orcamentoBean.selectedProduto}" />  
                                        </p:commandButton>  
                                    </p:column>  
                                </p:dataTable>  

                            </p:outputPanel>  

                        </p:fieldset>  

                        <p:droppable for="selectedProdutos" tolerance="touch" activeStyleClass="ui-state-highlight" datasource="availableCars" onDrop="handleDrop">  
                            <p:ajax listener="#{orcamentoBean.onProdutoDrop}" update="dropArea availableProdutos" />  
                        </p:droppable>
@ManagedBean
@SessionScoped 
public class OrcamentoBean {
    
    private Orcamento orcamento;
    private Cliente clientes;
    List<Cliente> listarclientes;
    
    //carrinho
    private List<Produto> produtosSmall;
    private List<Produto> droppedProdutos;
    
    @EJB
    private IOrcamento orcamentoDao;
    @EJB
    private IProduto produtoDao;
    @EJB
    private ICliente clienteDao;
   
    
    public OrcamentoBean() {
        orcamento = new Orcamento();
       
       listarclientes =  new ArrayList<Cliente>();
      
       //carrinho       
       produtosSmall = new ArrayList<Produto>();  
       droppedProdutos = new ArrayList<Produto>();
       
        
    }

    @PostConstruct
    public void Lista(){
       listarclientes = clienteDao.BuscaTodosCliente(); 
         
       //carrinho
       produtosSmall = produtoDao.BuscaTodosProdutos();
    }
    
    
    public void salvar(ActionEvent event) {
        orcamentoDao.SalvaOrcamento(orcamento);
        
          FacesContext.getCurrentInstance().addMessage(null,
                new FacesMessage(FacesMessage.SEVERITY_INFO, "Orcamento Realizado com Sucesso!", ""));

          orcamento = new Orcamento();
        
    }

    //metodo do carrinho
     public void onProdutoDrop(DragDropEvent ddEvent) {  
        Produto produto = ((Produto) ddEvent.getData());  
  
        droppedProdutos.add(produto);
        produtosSmall.remove(produto);
    }  
    
    
    
    
    
    

    public List<Cliente> getListarclientes() {
        return listarclientes;
    }

    public void setListarclientes(List<Cliente> listarclientes) {
        this.listarclientes = listarclientes;
    }


    public Orcamento getOrcamento() {
        
        return orcamento;
    }

    public void setOrcamento(Orcamento orcamento) {
        this.orcamento = orcamento;
    }

    public IOrcamento getOrcamentoDao() {
        return orcamentoDao;
    }

    public void setOrcamentoDao(IOrcamento orcamentoDao) {
        this.orcamentoDao = orcamentoDao;
    }

    public Cliente getClientes() {
        return clientes;
    }

    public void setClientes(Cliente clientes) {
        this.clientes = clientes;
    }


    public ICliente getClienteDao() {
        return clienteDao;
    }

    public void setClienteDao(ICliente clienteDao) {
        this.clienteDao = clienteDao;
    }

    public IProduto getProdutoDao() {
        return produtoDao;
    }

    public void setProdutoDao(IProduto produtoDao) {
        this.produtoDao = produtoDao;
    }

    public List<Produto> getProdutosSmall() {
        return produtosSmall;
    }

    public void setProdutosSmall(List<Produto> produtosSmall) {
        this.produtosSmall = produtosSmall;
    }

    public List<Produto> getDroppedProdutos() {
        return droppedProdutos;
    }

    public void setDroppedPprodutos(List<Produto> droppedProdutos) {
        this.droppedProdutos = droppedProdutos;
    }
 
    
}
Tiago_Casanova

Alguém meda uma luz…

Criado 8 de outubro de 2012
Ultima resposta 11 de out. de 2012
Respostas 4
Participantes 3