[Resolvido] Dúvida Primefaces Datatable com comando de excluir

2 respostas
Z

Olá a todos!
Fiz uma página com uma p:dataTable para exibir os resultados de uma tabela. Funcionou tudo perfeitamente.
Minha dúvida é com relação ao uso de botões, consegui adicionar eles normalmente na datatable, mas não entendi como utiliza-los.

Tentei adicionar o evento de exclusão em um deles, mas não obtive sucesso.
Procurei alguns exemplos na internet, mas não ficou muito claro, será que alguém poderia me dizer onde estou errando??

listar.xhtml

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!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:p="http://primefaces.org/ui">

    <h:head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
        <title>Relação de Formas de Pagamento</title>
    </h:head>
    <h:body>
        <h:form>
            <p:dataTable var="formaPgto" value="#{formaPagamentoBean.formasPagamento}">
                <p:column headerText="Descrição">  
                    <h:outputText value="#{formaPgto.descricao}" />  
                </p:column>  
                <p:column headerText="Ações">  
                    <p:commandButton actionListener="#{formaPagamentoBean.save()}" id="btnAlterar"   
                                     icon="ui-icon-disk" />  
                    <p:commandButton actionListener="#{formaPagamentoBean.delete()}" id="btnExcluir"   
                                     icon="ui-icon-trash" />  
                </p:column> 
            </p:dataTable>
        </h:form>

    </h:body>
</html>

FormaPagamentoBean

package bean;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import modelo.FormaPagamento;
import banco.DAOFactory;
import java.util.ArrayList;
import java.util.List;

@ManagedBean(name = "formaPagamentoBean")
@SessionScoped
public class FormaPagamentoBean {

    private FormaPagamento formaPagamento = new FormaPagamento();
    private DAOFactory<FormaPagamento> daoFormaPagamento = new DAOFactory<FormaPagamento>();
    private List<FormaPagamento> formasPagamento = new ArrayList<FormaPagamento>();

    public List<FormaPagamento> getFormasPagamento() {
        formasPagamento = daoFormaPagamento.findAll("FormaPagamento");
        return formasPagamento;
    }

    public String save() {
        daoFormaPagamento.saveOrUpdate(formaPagamento);
        formaPagamento = new FormaPagamento();
        return "sucess";
    }

    public String delete() {
        daoFormaPagamento.delete(this.formaPagamento);
        return "suceso";
    }

    public FormaPagamento getFormaPagamento() {
        if (formaPagamento == null) {
            formaPagamento = new FormaPagamento();
        }

        return formaPagamento;
    }

    public void setFormaPagamento(FormaPagamento formaPagamento) {
        this.formaPagamento = formaPagamento;
    }
}

Se alguém tiver alguma outra dica também para melhorar minha codificação, fique a vontade em falar, pois estou começando em java e não conheço muitos recursos.
Obrigado desde já pela ajuda!

2 Respostas

Hebert_Coelho

Olha a parte das páginas e dos MBs: Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate

Aí mostra como fazer tudo. [=

Z

Amigo, com certeza vou ler o artigo inteirinho.
Muito obrigado por responder!!

Abraços!

Criado 28 de agosto de 2012
Ultima resposta 28 de ago. de 2012
Respostas 2
Participantes 2