Eai pessoal estou com um probleminha aqui estou usando datamodel e datatable mais quando tento atualizar meu cadastro tenho um problema pois quando coloco meu datamodel.getRowData() ele me retorna o objeto correto porem quando mando salvar ele seta meu id como null se puderem me ajudar sou novado em web ainda.
Obrigado desde já
meu Bean
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.bean.conta;
import br.com.modelo.DAO.DAOFactory;
import br.com.modelo.conta.TipoConta;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
@ManagedBean(name="tipoContaBean")
@RequestScoped
public class TipoContaBean {
private TipoConta tipoConta = new TipoConta();
private DataModel listaTipoConta;
public TipoContaBean() {
}
public void salvar(ActionEvent actionEvent){
DAOFactory daoFactory = new DAOFactory();
daoFactory.beginTransaction();
daoFactory.getTipoContaDAO().inserir(tipoConta);
daoFactory.commit();
}
public void prepararCriacao(ActionEvent actionEvent){
tipoConta = new TipoConta();
}
public void prepararAlterarTipoConta(ActionEvent actionEvent){
tipoConta = (TipoConta) (listaTipoConta.getRowData());
System.out.print(this.tipoConta.getId());
}
public void alterar(ActionEvent actionEvent){
DAOFactory daoFactory = new DAOFactory();
daoFactory.beginTransaction();
daoFactory.getTipoContaDAO().alterar(this.tipoConta);
daoFactory.commit();
}
public String excluirTipoConta(){
DAOFactory daoFactory = new DAOFactory();
daoFactory.beginTransaction();
TipoConta tipoContaTemp = (TipoConta) listaTipoConta.getRowData();
daoFactory.getTipoContaDAO().remover(tipoContaTemp);
daoFactory.commit();
return "listarTipoDeConta";
}
public TipoConta getTipoConta() {
return tipoConta;
}
public void setTipoConta(TipoConta tipoConta) {
this.tipoConta = tipoConta;
}
public DataModel getListaTipoConta(){
List<TipoConta> lista = new DAOFactory().getTipoContaDAO().listarTudo();
listaTipoConta = new ListDataModel(lista);
return listaTipoConta;
}
}
minha view
[code]<?xml version='1.0' encoding='UTF-8' ?>
Gerenciador De Tipo de ContasManutenção de Tipo de Conta
<p:dialog header="Cadastro de Tipo de Conta" widgetVar="dialogGerTipoContaAlterar" resizable="false" modal="true" showEffect="slide" width="500">
<h:form prependId="false">
<h:panelGrid columns="2" id="formTipoContaAlt" style="margin-bottom:10px">
<h:outputLabel for="nomeAlt" value="Nome:"/>
<h:inputText id="nomeAlt" value="#{tipoContaBean.tipoConta.nome}"/>
<p:commandButton actionListener="#{tipoContaBean.alterar}" update="tabela" oncomplete="dialogGerTipoContaAlterar.hide()" value="Alterar"/>
</h:panelGrid>
</h:form>
</p:dialog>
<p:dialog header="Cadastro de Tipo de Conta" widgetVar="dialogGerTipoConta" resizable="false" modal="true" showEffect="slide" width="500">
<h:form prependId="false">
<h:panelGrid columns="2" id="formTipoConta" style="margin-bottom:10px">
<h:outputLabel for="nome" value="Nome:"/>
<h:inputText id="nome" value="#{tipoContaBean.tipoConta.nome}"/>
<p:commandButton actionListener="#{tipoContaBean.salvar}" update="tabela" oncomplete="dialogGerTipoConta.hide()" value="Salvar"/>
</h:panelGrid>
</h:form>
</p:dialog>
</h:body>
[/code]
Obrigado!!