Quero exibir um dataTable dentro de um dialog.
A sequencia funciona assim:
1#) Clicamos num commandButton que está dentro de um dataTable! Este clique levanta o dialog
2#) No dialog, a List nao é exibida!(q sao os itens do “commandButton”)! Porém ela é carregada n BB.
Versoes:
Prime: 3.0
Mojarra: 2.1.3
<f:view>
<p:panel>
<h:form id="gavetaForm" >
// campos para criar uma gaveta
</h:form>
</p:panel>
<h:form id="listagavetas">
<p:dataTable value="#{gavetaBean.gavetaLista}" var="gaveta" rowIndexVar="index" scrollHeight="350" id="gavetaListarTabela" >
//algumas colunas(lista os dados salvos do id="gavetaForm")
<p:column style="width:40px">
//chamo o meu dialog
<p:commandButton id="selectButton" onclick="listagavetaDocumentos.show()" icon="ui-icon-search" title="View"
action="#{gavetaBean.gavetaSelecionado}" update="dialoggavetaDocumentos:gavetaDocumentosListarTabela">
<f:setPropertyActionListener target="#{gavetaBean.editado}" value="#{gaveta}" />
</p:commandButton>
</p:column>
</p:dataTable>
</h:form>
//removi o form devido o post da anddi [url]http://www.guj.com.br/java/221055-primefaces-erro-com-pdatatable-em-um-pdialog-resolvido[/url]
<p:dialog id="dialoggavetaDocumentos" widgetVar="listagavetaDocumentos" modal="true" hideEffect="true"
showEffect="true" width="1300" height="450" header="Documentos do gaveta">
<h:form id="dialogFormSalvarDocumentos" >
//salvar documentos de uma caixa (o salvar funciona)
</h:form>
//essa listagem nao funciona! o "grid" fica vazio! E no método get do gavetaDocumentosLista ele está trazendo os dados
<p:dataTable emptyMessage="sem documentos" value="#{gavetaBean.gavetaDocumentosLista}" var="gavetaDocumentosLista" rowIndexVar="indexLD" scrollHeight="350" id="gavetaDocumentosListarTabela" >
<f:facet name="header">Documentos</f:facet>
<h:column>
<f:facet name="header">#</f:facet>
<h:outputText value="#{indexLD}" />
</h:column>
</p:dataTable>
</p:dialog>
</f:view>
método que retorna o List
public List<GavetaDocumentos> getGavetaDocumentosLista() {
GavetaDocumentosRN gavetaDocumentosRN = new GavetaDocumentosRN();
ContextoBean contextoBean = new ContextoBean();
this.gavetaDocumentos.setCliente(contextoBean.getUsuarioLogado().getCliente());
this.gavetaDocumentos.setGaveta(this.editado.getIdGaveta());
List<GavetaDocumentos> ld = gavetaDocumentosRN.listar(this.gavetaDocumentos);
for (GavetaDocumentos gavetaDocumento:ld){
//ok!!
System.out.println(gavetaDocumento.getPrestador().getCodigoPrestador()+"\n");
}
return ld;
}
Onde está o erro?
Obrigado.



