Olá, estou com dificuldade em apresentar um dataTable depois de clicar no componente selectBooleanCheckbox.
Tenho dois DataTable o que está com id=“origem” ele é default, será apresentado quando abrir a tela, mas após clicar no selectBooleanCheckbox eu gostaria de apresentar o DataTable de id=“destino” no lugar do default, mas isso não está ocorrendo.
DataTable default origem
<h:panelGroup id="pnlOrigem" rendered="#{meuBean.habilitaTableOri}"> <rich:dataTable id="origem" var="obj" value="#{meuBean.lista1" style="width: 100%;" rows="5"> <rich:column> <f:facet name="header"> <h:outputText value="Codigo" /> </f:facet> <h:outputText value="#{obj.codigo}" /> </rich:column> <rich:column> <f:facet name="header"> <h:outputText value="Nome" /> </f:facet> <h:outputText value="#{obj.nome}" /> </rich:column> </rich:dataTable> </h:panelGroup>
DataTable que desejo renderizar depois de clicar no componente selectBooleanCheckbox
<h:panelGroup id="pnlDestino" rendered="#{meuBean.habilitaTableDst}"> <rich:dataTable id="destino" var="obj" value="#{meuBean.lista1" style="width: 100%;" rows="5"> <rich:column> <f:facet name="header"> <h:outputText value="Codigo" /> </f:facet> <h:outputText value="#{obj.codigo}" /> </rich:column> <rich:column> <f:facet name="header"> <h:outputText value="Nome" /> </f:facet> <h:outputText value="#{obj.nome}" /> </rich:column> </rich:dataTable> </h:panelGroup>
Componente selectBooleanCheckbox
<h:panelGroup rendered="#{meuBean.habilitaCampos eq false}"> <h:selectBooleanCheckbox id="tr" value="#{meuBean.transfirSomente}"> <a4j:ajax execute="@this" event="change" render="pnlOrigem,pnlDestino"/> </h:selectBooleanCheckbox> <h:outputText value="Transferir"/> </h:panelGroup>
getTransferirSomente no meu Bean
public void setTransfirSomente(Boolean transfirSomente) { if (transfirSomente) { this.setHabilitaDataTablesDestino(Boolean.TRUE); this.setHabilitaDataTablesOrigem(Boolean.FALSE); } else { this.setHabilitaDataTablesDestino(Boolean.FALSE); this.setHabilitaDataTablesOrigem(Boolean.TRUE); } this.transfirSomente = transfirSomente; }