Boa tarde, seguindo as aulas eu percebi que ao fazer a busca ele me retorna a row que queria porém ao clicar em editar ele não preenche o formulário.
E o 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:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<ui:decorate template="/templates/layout.xhtml">
<ui:define name="centro">
<br/><br/>
<h:form id="formquarto">
<p:growl/>
<p:panel id="panel" header="Cadastro de Quartos" style="width:500px; margin-bottom:20px">
<h:panelGrid columns="2">
<h:outputLabel for="numero" value="Número do Quarto: "/>
<p:inputMask id="numero" value="#{quartoBean.quarto.numero}" mask="999" required="true" requiredMessage="Digite o número do quarto que deseja cadastrar!" style="width:135px"/>
<h:outputLabel for="andar" value="Andar do Quarto: "/>
<p:inputMask id="andar" value="#{quartoBean.quarto.andar}" mask="9" required="true" requiredMessage="Digite o andar do quarto que deseja cadastrar!" style="width:135px"/>
<h:outputLabel for="tipo" value="Tipo do Quarto: "/>
<p:selectOneMenu id="tipo" value="#{quartoBean.quarto.tipo}" required="true" requiredMessage="Selecione o tipo do quarto!" >
<f:selectItem itemLabel="Selecione" itemValue="" noSelectionOption="true" />
<f:selectItem itemLabel="Solteiro" itemValue="Solteiro"/>
<f:selectItem itemLabel="Duplo Solteiro" itemValue="Duplo Solteiro"/>
<f:selectItem itemLabel="Casal" itemValue="Casal"/>
<f:selectItem itemLabel="Família" itemValue="Família"/>
</p:selectOneMenu>
<h:outputLabel for="descricao" value="Descrição: "/>
<p:inputTextarea id="descricao" value="#{quartoBean.quarto.descricao}" rows="5" cols="30" counter="display" maxlength="100" counterTemplate="{0} caracteres restantes." autoResize="false" required="true" requiredMessage="Digite a descrição do quarto!"/>
<h:outputLabel for="hidden" value=""/>
<h:outputText id="display" />
<h:outputLabel for="preco" value="Valor do quarto "/>
<p:inputNumber id="preco" value="#{quartoBean.quarto.valor}" decimalSeparator="," thousandSeparator="." symbol="R$ " required="true" requiredMessage="Digite o valor do quarto que deseja cadastrar!"/>
<h:outputLabel for="situacaoquarto" value="Situação do Quarto: "/>
<p:selectOneMenu id="situacaoquarto" value="#{quartoBean.idSituacaoQuarto}" required="true" requiredMessage="Selecione o situação do quarto!" >
<f:selectItem itemLabel="Selecione" itemValue="" noSelectionOption="true" />
<f:selectItems value="#{quartoBean.listaSituacaoQuarto}" var="situacaoquarto1" itemLabel="#{situacaoquarto1.nome}" itemValue="#{situacaoquarto1.id}"/>
</p:selectOneMenu>
</h:panelGrid>
<br/>
<div align="center">
<p:commandButton value="Salvar" action="#{quartoBean.gravar}" update="formquarto :formtablequarto:tablequarto"/>
<p:commandButton value="Limpar" action="#{quartoBean.limpar}" update="formquarto"/>
</div>
</p:panel>
</h:form>
<h:form id="formtablequarto">
<p:dataTable id="tablequarto" value="#{quartoBean.listaQuarto}" var="quarto" paginator="true" rows="5" style="text-align:center">
<p:column filter="#{quarto.numero}" headerText="Numero" sortBy="#{quarto.numero}" filterBy="#{quarto.numero}" filterMatchMode="startsWith">
<h:outputLabel value="#{quarto.numero}" />
</p:column>
<p:column filter="#{quarto.andar}" headerText="Andar">
<h:outputLabel value="#{quarto.andar}" />
</p:column>
<p:column filter="#{quarto.tipo}" headerText="Tipo">
<h:outputLabel value="#{quarto.tipo}" />
</p:column>
<p:column filter="#{quarto.descricao}" headerText="Descrição">
<h:outputLabel value="#{quarto.descricao}" />
</p:column>
<p:column filter="#{quarto.valor}" headerText="Preço">
<h:outputLabel value="R$ #{quarto.valor}" />
</p:column>
<p:column filter="#{quarto.situacaoq.nome}" headerText="Situação do Quarto">
<h:outputLabel value="#{quarto.situacaoq.nome}" />
</p:column>
<p:column headerText="Editar">
<p:commandButton value="Editar" action="#{quartoBean.editar(quarto)}" update="formquarto :formtablequarto:tablequarto"/>
</p:column>
<p:column headerText="Excluir">
<p:commandButton value="Excluir" action="#{quartoBean.excluir(quarto)}" update="tablequarto">
<p:confirm header="Confirmação" message="Tem certeza que deseja excluir esse quarto?" icon="ui-icon-alert"/>
</p:commandButton>
<p:confirmDialog global="true" showEffect="fade" hideEffect="fade">
<div align="center">
<p:commandButton value="Sim" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check"/>
<p:commandButton value="Não" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close"/>
</div>
</p:confirmDialog>
</p:column>
</p:dataTable>
</h:form>
</ui:define>
</ui:decorate>
</html>
QuartoBean.
package br.edu.ifms.bean;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import org.primefaces.context.RequestContext;
import br.edu.ifms.dao.QuartoDao;
import br.edu.ifms.dao.SituacaoQuartoDao;
import br.edu.ifms.modelo.Quarto;
import br.edu.ifms.modelo.SituacaoQuarto;
@ManagedBean
@ViewScoped
public class QuartoBean {
Quarto quarto = new Quarto();
SituacaoQuarto situacaoq = new SituacaoQuarto();
private int idSituacaoQuarto;
public void gravar(){
QuartoDao dao = new QuartoDao();
if(dao.buscaPorId(quarto.getId())!=null){
SituacaoQuarto situacaoquarto1 = new SituacaoQuarto();
SituacaoQuartoDao daosituacao = new SituacaoQuartoDao();
situacaoquarto1 = daosituacao.buscaPorId(idSituacaoQuarto);
quarto.setSituacaoq(situacaoquarto1);
dao.atualizar(quarto);
quarto = new Quarto();
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,"Quarto atualizado com sucesso!",null);
RequestContext.getCurrentInstance().showMessageInDialog(message);
}else{
SituacaoQuarto situacaoquarto1 = new SituacaoQuarto();
SituacaoQuartoDao daosituacao = new SituacaoQuartoDao();
situacaoquarto1 = daosituacao.buscaPorId(idSituacaoQuarto);
quarto.setSituacaoq(situacaoquarto1);
dao.cadastrar(quarto);
quarto = new Quarto();
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,"Quarto cadastrado com sucesso!",null);
RequestContext.getCurrentInstance().showMessageInDialog(message);
}
}
public void excluir(Quarto quarto){
QuartoDao dao = new QuartoDao();
dao.excluir(quarto);
quarto = new Quarto();
}
public void editar(Quarto quarto){
this.idSituacaoQuarto = quarto.getSituacaoq().getId();
this.quarto = quarto;
}
public void limpar(){
this.idSituacaoQuarto = 0;
quarto = new Quarto();
}
public List<Quarto> getlistaQuarto(){
List<Quarto> lista = new ArrayList<Quarto>();
QuartoDao dao = new QuartoDao();
lista = dao.listaTodos();
return lista;
}
public List<SituacaoQuarto> getlistaSituacaoQuarto(){
List<SituacaoQuarto> lista = new ArrayList<SituacaoQuarto>();
SituacaoQuartoDao dao = new SituacaoQuartoDao();
lista = dao.listaTodos();
return lista;
}
public Quarto getQuarto() {
return quarto;
}
public void setQuarto(Quarto quarto) {
this.quarto = quarto;
}
public SituacaoQuarto getSituacaoq() {
return situacaoq;
}
public void setSituacaoq(SituacaoQuarto situacaoq) {
this.situacaoq = situacaoq;
}
public int getIdSituacaoQuarto() {
return idSituacaoQuarto;
}
public void setIdSituacaoQuarto(int idSituacaoQuarto) {
this.idSituacaoQuarto = idSituacaoQuarto;
}
}