0

I have two rich:datatables, each one has a rich data:scroller.

<rich:dataTable id="mainTable"
                summary="#{i18n['br.com.petrobras.crud.datatable.summary']}"
                styleClass="TableGrid"
                value="#{bean1.objectDataModel}"
                var="historicoItem"
                first="#{bean1.jsfPagination.firstItemIndex}"
                rows="#{bean1.jsfPagination.pageSize}">
</rich:dataTable>

<rich:dataScroller id="**scrollerHistorico**" styleClass="Pagination"
                   for="mainTable" maxPages="1" fastControls="hide"
                   renderIfSinglePage="false"
                   page="#{bean1.jsfPagination.currentPageForView}">

</rich:dataScroller>

<rich:dataTable id="anexoGridId"
                summary="#{i18n['br.com.petrobras.crud.datatable.summary']}"
                styleClass="TableGrid"
                value="#{bean2.objectDataModel}"
                var="anexoVar"
                first="#{bean2.jsfPagination.firstItemIndex}"
                rows="#{bean2.jsfPagination.pageSize}">
</rich:dataTable>

<rich:dataScroller id="**scrollerAnexoTratamentoControle**" styleClass="Pagination"
                   for="anexoGridId" maxPages="1" fastControls="hide"
                   renderIfSinglePage="false"
                   page="#{bean2.jsfPagination.currentPageForView}">
</rich:dataScroller>

but when i call any action to next or last page the page just refresh and ocurr the log message:

(As if i used the same reference to both datatables, what's not true.

12/04/2017 18:59:48 org.richfaces.event.DataTablePreRenderListener processActiveDatascroller
GRAVE: Datascroller components attached to component: formPrincipal:scrollerHistorico have different values of 'page' attribute : 
[formPrincipal:scrollerAnexoTratamentoControle: #{bean1.jsfPagination.currentPageForView},
formPrincipal:scrollerHistorico: #{tratamentoControleHistoricoBean.jsfPagination.currentPageForView}]
12/04/2017 18:59:48 org.richfaces.event.DataTablePreRenderListener processActiveDatascroller
GRAVE: Datascroller components attached to component: bean2have different values of 'page' attribute : 
[formPrincipal:scrollerAnexoTratamentoControle: #{anexoTratamentoControleBean.jsfPagination.currentPageForView},
formPrincipal:scrollerHistorico: #{tratamentoControleHistoricoBean.jsfPagination.currentPageForView}]

The impact about this is that after the action (and log message), all the data itens lost reference ID.

1 Answers1

0

I found the answer on this question https://stackoverflow.com/a/21400850/4529796

Just need create to enclose a h:panelGrid inside each dataTable + dataScroller

Don't ask why this

Community
  • 1
  • 1