Bom dia,
Prezados amigos,
Estou com um problema em que preciso popular um p:dataTable, sendo que preciso carregar ao clicar em uma tab(Documentos), eu consigo carregar a lista no back, mas no front não é carregada, somente mostra minha p:dataTable carregada se eu trocar de aba e voltar para a aba de Documentos.
Poderiam me ajudar ?
equipamento_tab
<div class="container">
<p:tabView style="width:100%" styleClass="m-t-20">
<p:tab id="tvGerais" title="Dados Gerais">
<div class="ui-g">
<ui:include
src="/pages/secured/equipamento/include/equipamentoDetalheContent.xhtml" />
</div>
</p:tab>
<p:tab id="tv4" title="Transferência" disabled="true">
<div class="ui-g">
<h3>Transferência</h3>
</div>
</p:tab>
<p:tab id="tv5" title="Fluxo de Baixa" disabled="true">
<div class="ui-g">
<h3>Fluxo de Baixa</h3>
</div>
</p:tab>
<p:tab id="tv6" title="Dados da Baixa" disabled="true">
<div class="ui-g">
<h3>Dados da Baixa</h3>
</div>
</p:tab>
<p:tab id="tv7" title="Revelação / Depreciação" disabled="true">
<div class="ui-g">
<h3>Reavaliação / Depreciação Gerencial</h3>
</div>
</p:tab>
<p:ajax event="tabChange" listener="#{equipamentoController.listaArquivos(equipamentoPropioformController.currentEquipamento.codigo , 'COM_04', 'tv11')}" update="@all" />
<p:tab id="tv11" title="Documentos">
<div id="documentoConteudo" class="ui-g">
<ui:include
src="/pages/secured/equipamento/documentoEquipamento_list.xhtml" />
</div>
</p:tab>
private List arquivoList;
public void listaArquivos(String codigoEquipamento, String tipoDocumento, String tabId) {if(tabId.equals("tv11")){
arquivoList = this.equipamentoArquivoService.listarArquivo(codigoEquipamento, tipoDocumento);
//session.setAttribute("arquivoList", arquivoList);
qtdArquivos = (arquivoList == null ? 0 : arquivoList.size());
session.setAttribute("qtdArquivos", qtdArquivos);
documentoEquipamento_list
<h:form id="form" prependId="false">
<h3 class="titulo">#{labels['menu.secao.cabecalho.documentos']}</h3>
<p class="subtitulo">#{equipamentoController.qtdArquivos}
arquivo(s)</p>
<p:growl id="messages" showDetail="true" />
<div class="row">
<div class="card">
<div class="toolbar barra-de-ferramentas">
<p:commandButton value="#{labels['label.novo']}"
styleClass="button-link" icon="fa fa-plus-circle"
actionListener="#{documentoController.chamarPaginaNovo('')}"
onstart="PF('statusDialog').show()" oncomplete="PF('statusDialog').hide()"/>
<p:commandButton value="#{labels['acoes.visualizar']}"
disabled="true" styleClass="button-link" icon="fa fa-eye"
onstart="PF('statusDialog').show()" oncomplete="PF('statusDialog').hide()"/>
<p:selectBooleanButton id="btModoMiniaturas"
styleClass="botao-sem-texto" onLabel="" offLabel=""
onIcon="fa fa-th" offIcon="fa fa-th" style="margin-right: 10px;"
onchange="$('#btModoTabela').removeClass('ui-state-active'); $('#btModoMiniaturas').addClass('ui-state-active');$('#tabView li:nth-child(2)').click()"
onstart="PF('statusDialog').show()" oncomplete="PF('statusDialog').hide()"/>
<p:selectBooleanButton id="btModoTabela"
styleClass="botao-sem-texto ui-state-active" onLabel=""
offLabel="" onIcon="fa fa-list" offIcon="fa fa-list"
onchange="$('#btModoMiniaturas').removeClass('ui-state-active'); $('#btModoTabela').addClass('ui-state-active'); $('#tabView li:nth-child(1)').click()"
onstart="PF('statusDialog').show()" oncomplete="PF('statusDialog').hide()"/>
<h:form styleClass="caixa-de-busca-interna">
<ui:include src="/pages/secured/equipamento/include/documento/templateDocumentoEquipamento_filter.xhtml">
<ui:param name="TipoDocumento" value="" />
</ui:include>
</h:form>
</div>
</div>
</div>
<ui:include src="/pages/secured/equipamento/include/documento/templateDocumentoEquipamento_list.xhtml" />
</h:form>
</section>
templateDocumentoEquipamento_list
<p:tabView id="tabView" width="100%"
styleClass="tabview-com-abas-ocultas">
<p:tab width="100%">
<p:dataTable id="arquivosDataTable"
value="#{equipamentoController.arquivoList}" var="arquivo"
emptyMessage="Nenhum arquivo encontrado."
width="100%" class="ui-datatable"
rows="10" paginator="true"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="10,25,50" sortMode="single"
paginatorPosition="bottom"
currentPageReportTemplate="#{labels['label.paginacao.de']} {startRecord} #{labels['label.paginacao.ate']} {endRecord} #{labels['label.paginacao.total']} {totalRecords}">
<p:column headerText="#{labels['documentos.tabela.cabecalho.descricao']}" width="30%">
<!--<h:commandLink styleClass="link"
action="#{documentoController.chamarView(arquivo.numDocumento, arquivo.nomeArquivo, arquivo.tipoDocumento)}"
onstart="PF('statusDialog').show()" oncomplete="PF('statusDialog').hide()"></h:commandLink>-->
<h:outputText value="#{arquivo.descRelatorio}" />
</p:column>
<p:column headerText="#{labels['documentos.tabela.cabecalho.dataUpload']}" width="15%" >
<h:outputText value="#{arquivo.getDataFormatada(arquivo.dataUpload)}" />
</p:column>
<p:column headerText="#{labels['documentos.tabela.cabecalho.usuario']}" width="15%">
<h:outputText value="#{arquivo.usuario}" />
</p:column>
</p:dataTable>
</p:tab>
<p:tab>
<div style="background-color: #fefefe; min-height: 500px">
<h:form>
<c:forEach items="#{equipamentoController.arquivoList}"
var="documento">
<div class="miniatura">
<iframe class="preview-do-documento"
src="#{request.contextPath}/components/miniatura-pdf.html"
data-url="http://localhost:8080/rhe-web/rest/rhe/documento?codigo=#{documento.numDocumento}&nomeArquivo=#{documento.nomeArquivo}"></iframe>
<p class="titulo">#{documento.nomeArquivo}</p>
<p class="subtitulo">#{documento.getDataFormatada(documento.dataUpload)}
por #{documento.usuario}</p>
</div>
</c:forEach>
</h:form>
</div>
</p:tab>
</p:tabView>
</div>