[RESOLVIDO]Links t:dataScroller com filtro não funciona

1 resposta
w1l14n

Boa tarde pessoal.

Eu tenho uma página que funciona normalmente o datascroller.

Nesta mesma página eu tenho um combox, que serve para filtrar os dados do datable.

A paginação funciona 100%, só que qdo uso o combox para filtrar o datatable os links para as páginas param de funcionar.

A tabela é recarregado com os dados filtrados, o datascroller re-calcula a quantidade de páginas, só que ao avançar para a página 2, não funciona.

Tem algum atributo do datascroller que tenho que alterar????

Para esclarecimentos, o meu bean é de escopo session.

Abaixo os códigos do datascroller e datatable

<a4j:form id="frmLstCadParticipantes" rendered="#{UsuarioSessionBean.usuarioLogado}">
               <div align="right">
                  <t:dataScroller id="scroll"
                                  for="_lstParticipantes"
                                  rowsCountVar="rowsCount"
                                  paginator="true"
                                  paginatorMaxPages="7"
                                  paginatorRenderLinkForActive="false"
                                  renderFacetsIfSinglePage="false"
                                  paginatorActiveColumnClass="paginacao"
                                  paginatorColumnClass="dataScrollerSty"
                                  firstStyleClass="dataScrollerSty"
                                  lastStyleClass="dataScrollerSty"
                                  binding="#{cadParticipanteBean.scroll}"
                                  forceId="true">
                     <f:facet name="first">
                        <t:outputText value="Primeira"/>
                     </f:facet>
                     <f:facet name="last">
                        <t:outputText value="Última"/>
                     </f:facet>
                  </t:dataScroller>
               </div>

               <div align="center" style="height:215px; overflow:auto;">
                  <t:dataTable id="_lstParticipantes" var="lstParticipantes" value="#{cadParticipanteBean.listaParticipantes}"
                               styleClass="tabela_cadastro" headerClass="cabecalho" width="780px" rows="7">
                     <t:column width="8%">
                        <center>
                           <f:facet name="header">
                              <h:outputText value="Convidar"/>
                           </f:facet>
                           <h:selectBooleanCheckbox id="selecionado" value="#{lstParticipantes.selecionado}"/>
                        </center>
                     </t:column>

                     <t:column width="29%">
                        <center>
                           <f:facet name="header">
                              <h:outputText value="Nome Completo"/>
                           </f:facet>
                        </center>
                        <h:outputText id="nomeCompleto" value="#{lstParticipantes.usuario.nomeCompleto}"/>
                     </t:column>

                     <t:column width="23%">
                        <center>
                           <f:facet name="header">
                              <h:outputText value="Cargo"/>
                           </f:facet>
                        </center>
                        <h:outputText id="dscCargo" value="#{lstParticipantes.usuario.dscCargo}"/>
                     </t:column>

                     <t:column width="25%">
                        <center>
                           <f:facet name="header">
                              <h:outputText value="E-mail"/>
                           </f:facet>
                        </center>
                        <h:outputText id="email" value="#{lstParticipantes.usuario.email}"/>
                     </t:column>

                     <t:column width="5%">
                        <center>
                           <f:facet name="header">
                              <h:outputText value="Agenda"/>
                           </f:facet>
                           <h:commandButton image="imagens/agenda.jpg" onclick="Richfaces.showModalPanel('modalAgendaUsuario')">
                              <f:setPropertyActionListener value="#{lstParticipantes.usuario.idUsuario}" target="#{ConviteReuniaoBean.participante.usuario.idUsuario}"/>
                              <f:setPropertyActionListener value="#{lstParticipantes.usuario.nomeCompleto}" target="#{ConviteReuniaoBean.participante.usuario.nomeCompleto}"/>
                           </h:commandButton>
                        </center>
                     </t:column>

                     <t:column width="5%">
                        <center>
                           <f:facet name="header">
                              <h:outputText value="Status"/>
                           </f:facet>
                           <h:outputText id="status" value="#{lstParticipantes.status}"
                                         title="#{lstParticipantes.mensagemRecusaConvite}"/>
                        </center>
                     </t:column>

                  </t:dataTable>
               </div>
            </a4j:form>

Valeu.

PS:

O código do meu combox box:

<a4j:form id="frmCadParticipantes" rendered="#{UsuarioSessionBean.usuarioLogado}">
                           <t:selectOneMenu id="menuSltCargos" value="#{cadParticipanteBean.cargo.idCargo}" styleClass="comboBox">
                              <f:selectItem itemLabel="Todos" itemValue="0"/>
                              <f:selectItems id="lstCargos" value="#{cadParticipanteBean.comboBoxCargos}"/>
                              <a4j:support event="onchange" reRender="frmLstCadParticipantes" action="#{cadParticipanteBean.atualizaDataTable}"/>
                           </t:selectOneMenu>
</a4j:form>

1 Resposta

w1l14n

Consegui resolver colocando o datascroller e o datatable dentro de um t:panelGroup.

Ao utilizar o combox, eu mando um reRender para o t:panelGroup.

Desta forma resolveu o meu problema.

<a4j:form id="frmLstCadParticipantes" rendered="#{UsuarioSessionBean.usuarioLogado}">
             <t:panelGroup id='panelLstParticipantes'>
               <div align="right">
                  <t:dataScroller id="scroll"
                                  for="_lstParticipantes"
                                  rowsCountVar="rowsCount"
                                  paginator="true"
                                  paginatorMaxPages="7"
                                  paginatorRenderLinkForActive="false"
                                  renderFacetsIfSinglePage="false"
                                  paginatorActiveColumnClass="paginacao"
                                  paginatorColumnClass="dataScrollerSty"
                                  firstStyleClass="dataScrollerSty"
                                  lastStyleClass="dataScrollerSty"
                                  binding="#{cadParticipanteBean.scroll}"
                                  forceId="true">
                     <f:facet name="first">
                        <t:outputText value="Primeira"/>
                     </f:facet>
                     <f:facet name="last">
                        <t:outputText value="Última"/>
                     </f:facet>
                  </t:dataScroller>
               </div>

               <div align="center" style="height:215px; overflow:auto;">
                  <t:dataTable id="_lstParticipantes" var="lstParticipantes" value="#{cadParticipanteBean.listaParticipantes}"
                               styleClass="tabela_cadastro" headerClass="cabecalho" width="780px" rows="7">
                     <t:column width="8%">
                        <center>
                           <f:facet name="header">
                              <h:outputText value="Convidar"/>
                           </f:facet>
                           <h:selectBooleanCheckbox id="selecionado" value="#{lstParticipantes.selecionado}"/>
                        </center>
                     </t:column>

                     <t:column width="29%">
                        <center>
                           <f:facet name="header">
                              <h:outputText value="Nome Completo"/>
                           </f:facet>
                        </center>
                        <h:outputText id="nomeCompleto" value="#{lstParticipantes.usuario.nomeCompleto}"/>
                     </t:column>

                     <t:column width="23%">
                        <center>
                           <f:facet name="header">
                              <h:outputText value="Cargo"/>
                           </f:facet>
                        </center>
                        <h:outputText id="dscCargo" value="#{lstParticipantes.usuario.dscCargo}"/>
                     </t:column>

                     <t:column width="25%">
                        <center>
                           <f:facet name="header">
                              <h:outputText value="E-mail"/>
                           </f:facet>
                        </center>
                        <h:outputText id="email" value="#{lstParticipantes.usuario.email}"/>
                     </t:column>

                     <t:column width="5%">
                        <center>
                           <f:facet name="header">
                              <h:outputText value="Agenda"/>
                           </f:facet>
                           <h:commandButton image="imagens/agenda.jpg" onclick="Richfaces.showModalPanel('modalAgendaUsuario')">
                              <f:setPropertyActionListener value="#{lstParticipantes.usuario.idUsuario}" target="#{ConviteReuniaoBean.participante.usuario.idUsuario}"/>
                              <f:setPropertyActionListener value="#{lstParticipantes.usuario.nomeCompleto}" target="#{ConviteReuniaoBean.participante.usuario.nomeCompleto}"/>
                           </h:commandButton>
                        </center>
                     </t:column>

                     <t:column width="5%">
                        <center>
                           <f:facet name="header">
                              <h:outputText value="Status"/>
                           </f:facet>
                           <h:outputText id="status" value="#{lstParticipantes.status}"
                                         title="#{lstParticipantes.mensagemRecusaConvite}"/>
                        </center>
                     </t:column>

                  </t:dataTable>
               </div>
              <t:panelGroup id='panelLstParticipantes'>
            </a4j:form>

O novo código do meu combox box:

<a4j:form id="frmCadParticipantes" rendered="#{UsuarioSessionBean.usuarioLogado}">
                           <t:selectOneMenu id="menuSltCargos" value="#{cadParticipanteBean.cargo.idCargo}" styleClass="comboBox">
                              <f:selectItem itemLabel="Todos" itemValue="0"/>
                              <f:selectItems id="lstCargos" value="#{cadParticipanteBean.comboBoxCargos}"/>
                              <a4j:support event="onchange" reRender="panelLstParticipantes" action="#{cadParticipanteBean.atualizaDataTable}"/>
                           </t:selectOneMenu>
</a4j:form>
Criado 26 de outubro de 2009
Ultima resposta 26 de out. de 2009
Respostas 1
Participantes 1