Renderizar p:panel quando clicar no p:commandButton

4 respostas
C

E ai javensses, tudo bom?
Estou com um dúvida para renderizar um p:panel usando o Primefaces. A ideia é que o panel só apareça quando um clicar no botão "carregar dados"

O p:commandButton é esse:
<p:commandButton id="clkCarregarDados" image="ui-icon-refresh" update="dtCarreta"
                             value="#{msgs.clkCarregarDados}" action="#{carretaMBean.carregaDados}">
            </p:commandButton>
E o p:panel que deve aparecer quando o botão clicado é esse:
<p:panel id="pnlVisualizacao" header="#{msgs.optVisualizarDados}" rendered="#{carretaMBean.visivelPanel}">
                <div id="divCarreta" style="height: 515px; width: 100%; overflow: auto; overflow: scroll; overflow: auto;">
                    <p:dataTable id="dtCarreta" value="#{carretaMBean.cachedCarreta}" var="item" selectionMode="true"
                                 selection="#{carretaMBean.selectedCarretas}" emptyMessage="#{msgs.dtVazia}">
                        <!-- Exportar dados da Tabela -->
                        <f:facet name="header">
                            <h:commandLink id="clkXls">
                                <p:graphicImage value="imagens/excel.png" />
                                <p:dataExporter type="xls" target="dtCarreta" fileName="#{msgs.dtEpt}"
                                                excludeColumns="6" postProcessor="#{carretaRelMBean.postProcessoXLS}"/>
                            </h:commandLink>
                            <p:tooltip for="clkXls" value="#{msgs.tpClkXls}" showEffect="grow" position="topRight"
                                       hideEffect="grow" showEffectLength="100" hideEffectLength="500" />

                            <p:spacer height="10px" />

                            <h:commandLink id="clkPdf">
                                <p:graphicImage value="imagens/pdf.png" />
                                <p:dataExporter type="pdf" target="dtCarreta" fileName="#{msgs.dtEpt}" excludeColumns="6"/>
                            </h:commandLink>
                            <p:tooltip for="clkPdf" value="#{msgs.tpClkPdf}" showEffect="grow" position="topRight"
                                       hideEffect="grow" showEffectLength="100" hideEffectLength="500" />
                        </f:facet>
                        <p:column id="clnCodCarreta" sortBy="#{item.codigocarreta}" filterBy="#{item.codigocarreta}">
                            <f:facet name="header">
                                <h:outputText id="optCodigoCarreta" value="#{msgs.optTableCodigoCarreta}" />
                            </f:facet>
                            <h:outputText value="#{item.codigocarreta}"/>
                        </p:column>
                        <p:column id="clnDescricaoCarreta" sortBy="#{item.descricao}" filterBy="#{item.descricao}">
                            <f:facet name="header">
                                <h:outputText id="optDescricaoCarreta" value="#{msgs.optTableDescricaoCarreta}" />
                            </f:facet>
                            <h:outputText value="#{item.descricao}"/>
                        </p:column>
                        <p:column id="clnPlaca" sortBy="#{item.placa}" filterBy="#{item.placa}">
                            <f:facet name="header">
                                <h:outputText value="#{msgs.optTablePlacaCarreta}" />
                            </f:facet>
                            <h:outputText value="#{item.placa}"/>
                        </p:column>
                        <p:column id="clnAno" sortBy="#{item.ano}" filterBy="#{item.ano}">
                            <f:facet name="header">
                                <h:outputText value="#{msgs.optTableAnoCarreta}" />
                            </f:facet>
                            <h:outputText value="#{item.ano}"/>
                        </p:column>
                        <p:column id="clnCor" sortBy="#{item.cor}" filterBy="#{item.cor}">
                            <f:facet name="header">
                                <h:outputText value="#{msgs.optTableCorCarreta}" />
                            </f:facet>
                            <h:outputText value="#{item.cor}"/>
                        </p:column>
                        <p:column id="clnCarroceira" sortBy="#{item.carroceria.descricao}" filterBy="#{item.carroceria.descricao}">
                            <f:facet name="header">
                                <h:outputText value="#{msgs.optTableCarroceriaCarreta}" />
                            </f:facet>
                            <h:outputText value="#{item.carroceria.descricao}"/>
                        </p:column>
                    </p:dataTable>
                </div>
            </p:panel>

Alguém pode me ajudar???

4 Respostas

Polverini

coloca o nome do widgetvar no panel
no botao fica assim oncomplete=“variavel.show()

C

nao funcionou, o panel já vem carregado e se eu setar rendered=“false” ai ele nao carrega. Tem mais alguma ideia?

Polverini

marca visible=“false”, assim o panel não é apresentado quando carregar a pagina, somente quando vc mandar o comando

C

Funcionou perfeitamente.
Muito obrigado.

Abraço.

Criado 27 de julho de 2011
Ultima resposta 28 de jul. de 2011
Respostas 4
Participantes 2