Dialog do primefaces não renderiza com o objeto

eu tenho um datatable que lista meus objetos e tenho um botão de editar

<p:commandButton styleClass="botaoIndex" action="#{solicitacoesBean.buscaSolicitacao}" image="ui-icon ui-icon-search" onstart="statusDialog.show()" onsuccess="statusDialog.hide()" oncomplete="dialogSolicitacao.show()" update="form2, dlgsolicitacao" > <f:setPropertyActionListener target="#{solicitacoesBean.solicitacao}" value="#{solicitacao}" /> </p:commandButton>

que chama o meu dialog ‘dialogSolicitacao’ para fazer a edição dos dados
ele vai pro bean tranquilamente, carrega o objeto certo, mas não renderiza ele no dialog…
se eu dou um f5 e tento abrir o dialog
o objeto esta la!

coloca seu dialog dentro do mesmo formulário do seu datatable e remove o h:form que está dentro dele. Ao realizar a chamada para a edição, dê um update SOMENTE no form que está o datatable, assim ele vai capturar e atribuir antes de abrir o seu dialog.

Posta o código do dialog ai…

Estou tendo o mesmo problema. Eu tenho 3 botões, Novo, Deletar e Alterar, 2 funcionam (exceto o alterar). Quando eu clico em deletar ele deleta e atualiza a dataTable, porém quando eu clico em editar ele não atualiza o Dialog com os dados do elemento que eu selecionei. Uma coisa que eu percebi é que ele não atualiza os dados do formulário, ele vai lá no Bean, cria a nova instância e tal, mas o formulário fica com os dados anteriores. Percebi que o setDisciplinaSelecionada não está sendo chamado quando eu clico no botão editar, daí sempre vai nulo os dados. Muito estranho o comportamento, to quase desistindo e fazendo tudo sem usar ajax :frowning:

Bean

@ManagedProperty("#{disciplinaService}")
    private DisciplinaService disciplinaService;
    
    private List&lt;Disciplina&gt; disciplinaList;
    
    private Disciplina disciplinaSelecionada;
    
    public void novo() {
        disciplinaSelecionada = new Disciplina();
    }
    
    public void salvar() {
        if (disciplinaSelecionada.getId() == null) {
            disciplinaService.save(disciplinaSelecionada);
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,&quot;Disciplina Adicionada&quot;, &quot;A disciplina &quot; + disciplinaSelecionada.getNome() + &quot; foi adicionada com sucesso.&quot;)); 
        } else {
            disciplinaService.update(disciplinaSelecionada);
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,&quot;Disciplina Alterada&quot;, &quot;A disciplina &quot; + disciplinaSelecionada.getNome() + &quot; foi alterada com sucesso.&quot;)); 
        }
    }
    
    public void editar() {
        if (disciplinaSelecionada == null) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,&quot;Disciplina não selecionada&quot;,&quot;Você precisa selecionar uma disciplina para deletar.&quot;)); 
        } else {
            System.out.println(&quot;Disciplina selecionada: &quot; + disciplinaSelecionada.getNome());
        }
    }
    
    public void deletar() {
        if (disciplinaSelecionada == null) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,&quot;Disciplina não selecionada&quot;,&quot;Você precisa selecionar uma disciplina para deletar.&quot;)); 
            return;
        }
        disciplinaService.delete(disciplinaSelecionada);
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,&quot;Disciplina Removida&quot;, &quot;A disciplina &quot; + disciplinaSelecionada.getNome() + &quot; foi removida com sucesso.&quot;)); 
    }
//getters and setters omitidos

Página 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
xmlns:sec=“http://www.springframework.org/security/facelets/tags”>

&lt;body&gt;

    &lt;ui:composition template="./../layout.xhtml"&gt;

        &lt;ui:define name="content"&gt;
            &lt;h:form id="botoesform"&gt;
                &lt;p:commandButton value="Nova Disciplina" image="ui-icon ui-icon-document"
                                 action="#{disciplinaBean.novo}" update=":dialogform:infosDisciplinas" oncomplete="dialogGerDisciplina.show()"/&gt;

                &lt;p:commandButton value="Deletar" image="ui-icon ui-icon-trash"  
                                 action="#{disciplinaBean.deletar}" onclick="return confirm('Tem certeza que deseja excluir a disciplina selcionada?')" update="form:tabela form:msg"/&gt;

                &lt;p:commandButton value="Alterar" image="ui-icon ui-icon-folder-open" action="#{disciplinaBean.editar}" 
                                 update=":dialogform:infosDisciplinas :form:msg" oncomplete="dialogGerDisciplina.show()"/&gt; 
            &lt;/h:form&gt;
            &lt;h:form id="form"&gt;
                &lt;p:growl id="msg" showDetail="true" showSummary="true"/&gt;
                &lt;p:dataTable id="tabela" var="disciplina" selection="#{disciplinaBean.disciplinaSelecionada}" 
                             selectionMode="single" rowKey="#{disciplina.id}"
                             value="#{disciplinaBean.disciplinaList}"&gt;
                    &lt;f:facet name="header"&gt;  
                        Disciplinas Cadastradas
                    &lt;/f:facet&gt;
                    &lt;p:column&gt;  
                        &lt;f:facet name="header"&gt;  
                            &lt;h:outputText value="Id" /&gt;  
                        &lt;/f:facet&gt;  
                        &lt;h:outputText value="#{disciplina.id}" /&gt;  
                    &lt;/p:column&gt;

                    &lt;p:column&gt;  
                        &lt;f:facet name="header"&gt;  
                            &lt;h:outputText value="Nome" /&gt;  
                        &lt;/f:facet&gt;  
                        &lt;h:outputText value="#{disciplina.nome}" /&gt;  
                    &lt;/p:column&gt;

                &lt;/p:dataTable&gt;
                &lt;p:confirmDialog message="Tem certeza?" width="200"
                                 header="Confirm" severity="alert" widgetVar="confirmation"&gt;
                    &lt;p:commandButton value="Sim" update="cars" actionListener="#{disciplinaBean.deletar}" oncomplete="confirmation.hide()"/&gt;
                    &lt;p:commandButton value="Não" onclick="confirmation.hide()" type="button" /&gt;

                &lt;/p:confirmDialog&gt;
            &lt;/h:form&gt;
            &lt;p:dialog header="Gerência de Disciplinas" widgetVar="dialogGerDisciplina" resizable="false" modal="true" showEffect="slide" width="500"&gt;
                &lt;h:form id="dialogform"&gt;
                    &lt;h:panelGrid id="infosDisciplina" columns="2" style="margin-bottom: 10px;"&gt;
                        &lt;h:outputLabel for="nome" value="Nome"/&gt;
                        &lt;p:inputText id="nome" value="#{disciplinaBean.disciplinaSelecionada.nome}"/&gt;

                        &lt;p:commandButton value="Salvar" update=":form:tabela :form:msg" oncomplete="dialogGerDisciplina.hide();" action="#{disciplinaBean.salvar}"/&gt;
                    &lt;/h:panelGrid&gt;
                &lt;/h:form&gt;
            &lt;/p:dialog&gt;
        &lt;/ui:define&gt;
    &lt;/ui:composition&gt;
&lt;/body&gt;

</html>

valeu galera. Estou usando o primefaces 3.0 M3