I'm using t:dataScroller to scroll some data from a t:dataTable and it is working fine except for one thing: every time an action that causes the screen to be refreshed is triggered the t:dataScroller's index is set to 1.
To be more clear: when i'm in the second page (index == 2) and a screen refreshing action triggers, after the refresh, the data of the dataTable is still from index 2 but the dataScroller shows that the page being displayed is the first one.
I'm using the dataScroller this way:
<t:dataScroller for="myDataTable" id="myDataScroller" paginator="true"
paginatorMaxPages="#{myBean.paginatorMxPgs}"
pageCountVar="pgCount" pageIndexVar="#{myBean.curPg}"
actionListener="#{myBean.pgListener}">
<f:facet name="prv">
<h:panelGroup rendered="#{myBean.curPg > 1}" />
</f:facet>
<f:facet name="nxt">
<h:panelGroup rendered="#{myBean.curPg != pgCount}"/>
</f:facet>
</t:dataScroller>
i'm using tomahawk20-1.1.11.jar and myfaces-api-2.0.4.jar
For setting scroller to firstpage set actionlistener on submit button.
Binding:
if it is datatable
Declare HtmlDataTable in your Bean,define its setter getter as below:
Getter and setter
Now define ActionListener Method in Bean:
Your page will set to first page when you'll do new search.
/**********************************************************************************************************************************/ if you are using
<rich:dataGrid>
and your scroller is<t:dataScroller>
thenDeclare HtmlDataGrid in Bean:
Its getter and setter
Now define its action listener in Bean which will invoke on pressing command button for search :
Invoke ActionListener on command button
It also give desire result.