Problema em usar o Datagrid do primefaces

11 respostas
A

Galera estou fazendo uma pagina utilizando JSF com primefaces, este é um trabalho academico, eu programo em c# e estou apanhando muito com java hehehehe.

o banco é postgree e esta no formato .backup ele está junto no arquivo zipado

Bom gostaria de ajuda de vocês em descubrir o erro

Estou tentando implementar esse exemplo na pagina home da minha app
http://www.primefaces.org/showcase/ui/datagrid.jsf
e queria é selecionar o registro no clique do panel e mostrar mas não está dando certo

Este é o meu projeto http://www.megaupload.com/?d=MM40ASNR

Agradeço quem me ajudar senão vou reprovar na matéria Java pra Web :thumbdown:

11 Respostas

A

cara,

posta seu codigo aqui para poder te ajudar

t+

A

então eu fiz upload, esse é o link http://www.megaupload.com/?d=MM40ASNR

mas ta ai codigo

Este o home.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.prime.com.tr/ui">
    <body>

            <ui:composition template="./template.xhtml">           
                <ui:define name="conteudo">
                    <h:form>
                        <p:dataGrid var="prod" value="#{formCadastroProduto.produtos}" 
                                        columns="3" rows="12" paginator="true" effect="true"  
                                        paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                        rowsPerPageTemplate="9,12,15">
                                <p:column>
                                    <p:panel header="Produto" style="text-align:center">                              
                                        <h:panelGrid columns="1" style="width:100%">
                                            <p:graphicImage value="/resources/imagens/#{prod.prod_img}"/>
                                            <h:outputText value="Nome: #{prod.prod_nome}" />
                                            <h:outputText value="Valor R$: #{prod.prod_valor}" />
                                            <h:outputText value="Quantidade: #{prod.prod_estoque}" />                                    
                                        </h:panelGrid>   
                                        <p:commandLink update="DetalheProduto" oncomplete="dlg.show()" title="View Detail">  
                                            <p:graphicImage value="/resources/cart.png"/>   
                                            <f:setPropertyActionListener value="#{prod}" target="#{formCadastroProduto.selectedProd}" />  
                                        </p:commandLink>

                                    </p:panel>
                                </p:column>
                            </p:dataGrid>
                        
                            <p:dialog modal="true" widgetVar="dlg" >
                                <p:outputPanel id="DetalheProduto">
                                    <p:graphicImage value="/resources/imagens/#{formCadastroProduto.selectedProd.prod_img}"/>
                                    <h:panelGrid>
                                        <h:outputLabel for="prodNome" value="Nome: " />
                                        <h:outputText id="prodNome" value="#{formCadastroProduto.selectedProd.prod_nome}" />
                                        <h:outputLabel for="prodValor" value="Valor R$: " />
                                        <h:outputText id="prodValor" value="#{formCadastroProduto.selectedProd.prod_valor}" />
                                        <h:outputLabel for="prodQuantidade" value="Quantidade: " />
                                        <h:outputText id="prodQuantidade" value="#{formCadastroProduto.selectedProd.prod_estoque}" />
                                    </h:panelGrid>
                                </p:outputPanel>                
                          </p:dialog>
                    </h:form>                 
                </ui:define>
            </ui:composition>     
    </body>
</html>

Este é o ManagedBean

package br.com.ecommerce;

import br.com.ecommerce.banco.BancoDados;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;
import org.primefaces.event.FileUploadEvent;

@ManagedBean(name = "formCadastroProduto")
@SessionScoped
public class FormCadastroProduto {
    Produtos produto;
    
    private List<Produtos> produtos;
    private Produtos selectedProd;
   

    public FormCadastroProduto() {
        //produto = new Produtos();
        produtos = new ArrayList<Produtos>();  
        this.buscarDados();
    }

    public Produtos getSelectedProd() {
        return selectedProd;
    }

    public void setSelectedProd(br.com.ecommerce.Produtos selectedProd) {
        this.selectedProd = selectedProd;
    }
    
     public List<Produtos> getProdutos() {
        return produtos;
    }

     public String cadastra_action() {
        if (produto.salvarDados()) 
        {
            this.buscarDados();
            
        }
         return "fica";
    }

    public void buscarDados()
    {

        try 
        {

            Produtos objProd;
            BancoDados bd = new BancoDados();
            String query = "";
            ResultSet rs;

            query = "select * from produtos";

            rs = bd.retornaResultSet(query);
           while (rs.next())
            {
                objProd = new Produtos();
                objProd.setProd_nome(rs.getString("prod_nome"));
                objProd.setProd_valor(rs.getInt("prod_valor")); 
                objProd.setProd_estoque(rs.getInt("prod_estoque"));
                objProd.setProd_img(rs.getString("prod_img"));

                produtos.add(objProd);
            }

        } 
        catch (Exception e) 
        {
            System.out.println("Erro: \n" + e.getMessage());
            produtos = null;
        }
    }
    public void handleFileUpload(FileUploadEvent event) 
    {
        //UploadedFile file = event.getFile();
        String imagemTemporaria;
          
          byte[] img = event.getFile().getContents();
          imagemTemporaria = event.getFile().getFileName();
          produto.setProd_img(imagemTemporaria);
          FacesContext facesContext = FacesContext.getCurrentInstance();
          ServletContext scontext = (ServletContext) facesContext.getExternalContext().getContext();
          String arquivo = scontext.getRealPath("/resources/imagens/" + imagemTemporaria);
          criaArquivo(img, arquivo);

    }

    public void criaArquivo(byte[] bytes, String arquivo) 
    {
         FileOutputStream fos;

         try 
         {
            fos = new FileOutputStream(arquivo);
            fos.write(bytes);
            fos.close();

         } 
         catch (FileNotFoundException ex)
         {
              System.out.println("Erro: \n" + ex.getMessage());
         } 
         catch (IOException ex) 
         {
             System.out.println("Erro: \n" + ex.getMessage());
         }
   }
}
A

cara,

qdo vc for postar algum codigo, coloque dentro da tag [code].

qual erro que está ocorrendo?

t+

A

foi mal cara desculpa é q eu sou novo aki

ele não da erro, simplismente não funciona com clique no registro pra mostra, ele não ta trazendo os dados

A

faz um teste ai e ve se funciona

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.prime.com.tr/ui">
    <body>

            <ui:composition template="./template.xhtml">           
                <ui:define name="conteudo">
                    <h:form>
                        <p:dataGrid var="prod" value="#{formCadastroProduto.produtos}" 
                                        columns="3" rows="12" paginator="true" effect="true"  
                                        paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                        rowsPerPageTemplate="9,12,15">
                                <p:column>
                                    <p:panel header="Produto" style="text-align:center">                              
                                        <h:panelGrid columns="1" style="width:100%">
                                            <p:graphicImage value="/resources/imagens/#{prod.prod_img}"/>
                                            <h:outputText value="Nome: #{prod.prod_nome}" />
                                            <h:outputText value="Valor R$: #{prod.prod_valor}" />
                                            <h:outputText value="Quantidade: #{prod.prod_estoque}" />                                    
                                        </h:panelGrid>   
                                        <p:commandLink update="DetalheProduto" oncomplete="dlg.show()" title="View Detail" >
                                            <f:setPropertyActionListener value="#{prod}" target="#{formCadastroProduto.selectedProd}" />  
                                        </p:commandLink>

                                    </p:panel>
                                </p:column>
                            </p:dataGrid>
                        
                            <p:dialog modal="true" widgetVar="dlg" >
                                <p:outputPanel id="DetalheProduto">
                                    <p:graphicImage value="/resources/imagens/#{formCadastroProduto.selectedProd.prod_img}"/>
                                    <h:panelGrid id="informacoes">
                                        <h:outputLabel for="prodNome" value="Nome: " />
                                        <h:outputText id="prodNome" value="#{formCadastroProduto.selectedProd.prod_nome}" />
                                        <h:outputLabel for="prodValor" value="Valor R$: " />
                                        <h:outputText id="prodValor" value="#{formCadastroProduto.selectedProd.prod_valor}" />
                                        <h:outputLabel for="prodQuantidade" value="Quantidade: " />
                                        <h:outputText id="prodQuantidade" value="#{formCadastroProduto.selectedProd.prod_estoque}" />
                                    </h:panelGrid>
                                </p:outputPanel>                
                          </p:dialog>
                    </h:form>                 
                </ui:define>
            </ui:composition>     
    </body>
</html>

t+

L

kra qdo aprendi java na faculdade nunca me foi exigido saber sobre os frameworks e sim o básico da linguagem, me parece q vc está mentindo ao dizer q reprovará na matéria, fale a verdade…

A

Luxu
Estou vendo que vc é de P. Prudente estou fazendo o Curso de Pós da Unoeste de C# e Java. A turma é bem mista e ja tem um certo conhecimento no meu caso eu tenho conhecimento de C# e não de Java por isso q eu estou apanhando muito.

Me falaram desse framework primefaces, achei bonito os componentes vi o showcase no site e resolvi aplicar, para mim passar tenho que tirar 7 na matéria.Não gostaria de tirar 7 na casca mais sim um 8 ou 9 por usar esse framework e tentar sair do basico

Acho que nos forum, é para pedir ajuda a quem precisar, e NÂO CRITICAR COMO VC ME FEZ, você não quer me ajudar ótimo, tem mais gente que tem boa vontade de ajudar. Mesmo assim obrigado por enquanto

alissonvla
Testei em casa e não deu certo. Obrigado pela ajuda

L

kra aprendi ao mesmo na UNOESTE com o Silvio Carro e ele nunca focou em framework e sim em ensinar a linguagem JAVA tanto no Java I como no Java II, aprendi as d+ coisas sozinho msm, ou seja, NUNCA me pediram nada lá, ok?

A

Mas nenhum professor me falou pra focar em nenhum framework, eu q quis usar por livre espontanea vontade. Como você disse q vc prendeu sozinho coisa que tb estou aprendendo sozinho com esse framework ao aplicar ele, mas como não sou expert, estou com dificuldade.

Não vou discutir mais aki no forum que não é lugar.

A

Alguém mais pode ma ajudar ? :smiley:

A

???

Criado 25 de outubro de 2011
Ultima resposta 28 de out. de 2011
Respostas 11
Participantes 3