Cadastro no PrimeFaces

Estou tentando fazer um cadastro no utilizando o primeface, na parte de cadastrar esta tudo certo, mais não estou conseguindo fazer a parte de alterar e excluir sera que alguem pode me ajudar segue o codigo

Classes

Equipe.java

[code]
@Entity
public class Equipe implements Serializable{

@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
Long equ_codigo;
String equ_descricao;

public Equipe() {
    equ_codigo = new Long(0);
}

public Long getEqu_codigo() {
    return equ_codigo;
}

public void setEqu_codigo(Long equ_codigo) {
    this.equ_codigo = equ_codigo;
}

public String getEqu_descricao() {
    return equ_descricao;
}

public void setEqu_descricao(String equ_descricao) {
    this.equ_descricao = equ_descricao.toUpperCase();
}[/code]

DAO.java

public class DAO<T, I extends Serializable> implements InterfaceDao<T, I> {

    private Session conexao;
    
    public DAO(){
        getEntityManager();
    }

    @Override
    public boolean save(T entity) {

        boolean b = false;
        Transaction t = conexao.beginTransaction();
       
        try {
            conexao.saveOrUpdate(entity);
            t.commit();
            b = true;
        } catch (Exception e) {
            t.rollback();
            b = false;
        }

        return b;
    }

    @Override
    public boolean remove(T entity) {
        boolean b = false;
        Transaction t = conexao.beginTransaction();
       
        try {
            conexao.delete(entity);
            t.commit();
            b = true;
        } catch (Exception e) {
            t.rollback();
            b = false;
        }

        return b;

    }

    @Override
    public T getById(Class<T> classe, I pk) {

        try {
            return (T) conexao.load(classe, pk);
        } catch (NoResultException e) {
            return null;
        }

    }

    @SuppressWarnings("unchecked")
    @Override
    public List<T> getAll(Class<T> classe) {
        Query query = conexao.createQuery("select o from " + classe.getSimpleName() + " o");

        return query.list();
    }

    @Override
    public Session getEntityManager() {

        if (conexao == null) {
            conexao = HibernateUtil.openSession();
        }
        return conexao;
    }
}

EquipeDAO.java

public class EquipeDAO extends DAO<Equipe, Long> implements InterfaceEquipeDAO{
     
    
 
}

EquipeMB.java

@ManagedBean
@ViewScoped
public class EquipeMB implements Serializable {

    private Equipe equipe = new Equipe();
    private InterfaceEquipeDAO dao;
    private DataModel listaEquipe;

    /**
     * Creates a new instance of PessoaMB
     */
    public EquipeMB() {
        dao = new EquipeDAO();
        //List<Equipe> lista = dao.getAll(Equipe.class);
        //listaEquipe = new ListDataModel(lista);
    }

    public void prepararAdicionarEquipe(ActionEvent actionEvent) {
        equipe = new Equipe();
    }

    public void prepararAlterarEquipe() {
        equipe = (Equipe) (listaEquipe.getRowData());
    }

    /**
     * Getters e Setters
     */
    public String excluirEquipe() {

        Equipe equipeTemp = (Equipe) (listaEquipe.getRowData());
        dao.remove(equipeTemp);
        return "index";

    }

    public void setEquipe(Equipe equipe) {
        this.equipe = equipe;
    }

    public Equipe getEquipe() {
        return equipe;
    }

    public Equipe getEquipe(Long id) {
        return dao.getById(Equipe.class, id);
    }

    public DataModel getEquipeLista() {
        List<Equipe> lista = dao.getAll(Equipe.class);
        listaEquipe = new ListDataModel(lista);
        return listaEquipe;
    }

    /**
     * Métodos
     */
    public void salvarEquipe() {
        if (dao.save(equipe)) {
            equipe = new Equipe();
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Equipe foi incluida com sucesso !"));
        } else {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Erro ao incluir !"));
        }

        equipe = new Equipe();
    }
}

frmEquipe.xhtml

   <h:body>
         <h:form id="form">
            <h:panelGrid id="infosEquipe" >
                <h:outputLabel for="descricao" value="Descrição:" />
                <h:inputText id="descricao" value="#{equipeMB.equipe.equ_descricao}"/>

                <p:commandButton id="btnE" value="Enviar" type="submit" action="#{equipeMB.salvarEquipe}" process="@form" update="display" />
            </h:panelGrid>>
            <p:outputPanel id="display" style="display:block;margin-top:10px;"> 
                <p:dataTable id="tableEquipe" value="#{equipeMB.equipeLista}" var="e" rows="10" emptyMessage="sem registros" paginator="true" >
                    <p:column id="oodigoHeader" filterBy="#{e.equ_codigo}"   
                              headerText="CODIGO"  
                              filterMatchMode="contains" >
                        <h:outputText value="#{e.equ_codigo}"/>
                    </p:column>
                    <p:column id="descricaoHeader" filterBy="#{e.equ_descricao}"   
                              headerText="DESCRIÇÃO"  
                              filterMatchMode="contains">
                        <h:outputText value="#{e.equ_descricao}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Alterar"/>
                        </f:facet>
                        <p:commandButton value="Alterar" action="#{equipeMB.prepararAlterarEquipe}" process="@this" />
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Excluir"/>
                        </f:facet>
                        <p:commandButton action="#{equipeMB.excluirEquipe}" value="Excluir" update="tableEquipe" />
                    </p:column>
                </p:dataTable>
            </p:outputPanel>
        </h:form>


    </h:body>

Obrigado

Qual o seu problema ? aparece alguma mensagem de erro ? ja fez o debug ?

Quando eu clico em alterar ele deveria trazer os dados da linha aonde eu cliquei e levar para o InputText da linha 5 mais não esta ocorrendo nada
e o excluir tambem não esta funcionando, ele so esta salvando

jovemp, por favor, coloque um breakpoint dentro desse metodo:

public void prepararAlterarEquipe() {  
        equipe = (Equipe) (listaEquipe.getRowData());  
    } 

e veja se quando voce clica no commandButton ele esta entrando nesse metodo. E nos informe se sim ou nao.

Flw!

esta sim

Voce verificou se a variavel equipe esta sendo populada com as informacoes da linha ?

ela esta sim, creio eu que não estou sabendo preencher o update

Ok, tente assim:

<p:commandButton value="Alterar" actionListener="#{equipeMB.prepararAlterarEquipe}" update=":form:infosEquipe" />

Agora nem apareceu o botão, de alterar nem o excluir, e a tabela parou na primeira linha

no Apache apareceu esse erro

SEVERE: javax.faces.FacesException: Cannot find component with identifier “:form:infosEquipe” referenced from “form:tableEquipe:0:j_idt38”.

estranho, no update troque para update="@all", mucho estranho isso. Fiz um sistema para lanchonete completo, uso e abuso de commandButtons, faço coisas mais complexas que isso, e nao da esses erros…mucho estranho, hehehe, talvez eu nao deva ta enchergando direito, vamo continuar testando man, vi que ninguem pode lhe ajudar ainda, nao gosto de deixar ninguem sozinho na guerra, hehehehehe.

AAAAAaaaa po entao pera la

Muda nada nao ainda, troca o update para infosEquipe, assim: update=“infosEquipe”

Muito obrigado por estar me ajudando.
Agora voltou a aparecer mais como estou chamando esse frmEquipe dentro de um p:dialog
ele esta fechando

Esta chamando dentro de um p:dialog ? como assim ? nao vi nenhum p:dialog no que voce postou o.O

Desculpa não ter postado antes mais pensei que não alterava nada

index.xhtml

<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.org/ui">
    <f:view contentType="text/html">
        <h:head>
            <title>Despesas Agricola</title>
            <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
            <link type="text/css" rel="stylesheet" href="#{request.contextPath}/themes/aristo/skin.css" />
            <link type="text/css" rel="stylesheet" href="#{request.contextPath}/syntaxhighlighter/styles/syntaxhighlighter.css"></link>
            <style type="text/css">
                body {
                    background: url(images/macosx/macback.png);
                    margin: 0;
                    padding: 0;
                    font-family: geneva, arial, helvetica, sans-serif;
                    font-size:80%;
                }

                .ui-menuitem-icon.ui-icon.appleIcon {
                    background: url(images/macosx/apple.png) no-repeat;
                    width:16px;
                    height:16px;
                    border-radius:0px;
                }

                .ui-dialog .ui-terminal {
                    border:0;

                }

                .ui-dialog.terminalDialog .ui-dialog-content {
                    padding:0;
                }
            </style>
        </h:head>

        <h:body>
            <h:form prependId="false">
                <p:menubar>
                    <p:submenu label="Cadastros">
                        <p:menuitem value="Funcionario" url="#" onclick="info.show();" ></p:menuitem>
                        <p:menuitem value="Cargo" url="#" onclick="info.show();" ></p:menuitem>
                        <p:menuitem value="Equipe" url="#" onclick="equ.show();" ></p:menuitem>
                        <p:menuitem value="Gestor" url="#" onclick="info.show();" ></p:menuitem>
                        <p:menuitem value="Tipo Despesa" url="#" onclick="info.show();" ></p:menuitem>
                        <p:menuitem value="Utilização" url="#" onclick="info.show();" ></p:menuitem>
                        <p:menuitem value="Empresas" url="#" onclick="info.show();" ></p:menuitem>
                    </p:submenu>

                    <p:submenu label="Peril da Carteira">
                        <p:menuitem value="Configurar" url="#" onclick="perconf.show();" icon="ui-icon ui-icon-info"></p:menuitem>
                        <p:menuitem value="Gerar Relátorios" url="#" onclick="info.show();" icon="ui-icon ui-icon-info"></p:menuitem>
                    </p:submenu>

                    <p:submenu label="Edit">
                        <p:menuitem value="Undo" url="#" styleClass="undo" helpText="?åòZ" icon="ui-icon ui-icon-arrowreturnthick-1-w"></p:menuitem>
                        <p:menuitem value="Redo" url="#" styleClass="redo" helpText="?åòY" icon="ui-icon ui-icon-arrowreturnthick-1-e"></p:menuitem>
                    </p:submenu>

                    <p:submenu label="View">
                        <p:menuitem value="Source" url="#" onclick="source.show();" icon="ui-icon ui-icon-search"></p:menuitem>
                    </p:submenu>
                </p:menubar>
                <p:dock>
                    <p:menuitem label="Inicio" icon="/images/home.png" url="#" />
                    <p:menuitem label="Senha" icon="/images/senha.png" url="#" onclick="terminal.show();term.focus();"/>
                </p:dock> 
                <p:growl id="growl" showDetail="true" life="3000" />

                <p:dialog id="diaEquipe" header="Cadastro Equipe" widgetVar="equ" dynamic="true" >  
                        <ui:include src="frmEquipe.xhtml" />
                </p:dialog>


            </h:form>
        </h:body>
    </f:view>
</html>

como pode ver na linha 73 eu chamo ele

Hummm, é, agora mudou de figura, me responde algo: O que quer é… ao clicar no commandButton, atualizar o campo que tem dentro do dialog mas sem fechar o dialog ?

isso mesmo, sendo que esse commandButton esta dentro do dialog e o que quero atualizar tb

Olha, confesso que nunca fiz isso, mas tenho um sistema pronto aqui, vou fazer uns testes e vejo se descubro como que faz, qualquer coisa te falo.

Abraços.

Muito Obrigado