This is related to the “RE: Tobago SheetRenderer calls getter for list twicely.” Thread.

 

It appears that where the dataScroller is on a page determines when in the lifecycle it obtains information about the dataModel.

I have a datable with a dataScroller on the top and bottom. There is a button that toggles whether the Table shows “Closed Events” or not . It appears that the dataScroller on top renders itself before the dataTable is updated, hence showing an incorrect number of pages. See the below code  :

 

<t:commandButton value="Hide Closed Events" rendered="#{eventDataList.showClosed}"

            actionListener="#{eventDataList.togleShowClosed}" />

<t:commandButton value="Show Closed Events" rendered="#{! eventDataList.showClosed}"

            actionListener="#{eventDataList.togleShowClosed}" />

 

 

<h:panelGrid>

      <t:dataScroller for="events">

                 …

      </t:dataScroller>

      <t:dataTable id="events" value="#{eventDataList.data}" >

                  ...

      </t:dataTable>

 

            <t:dataScroller for="events">

                 …

      </t:dataScroller>

<h:panelGrid>

 

 

The getData method must go to the DB every time, hence is not a true getter,  but unfortunately obtaining data from the DB every page request is a requirement.

 

 



NOTICE: This message, including all attachments transmitted with it, is for the use of the addressee only. It may contain proprietary, confidential and/or legally privileged information belonging to Litle & Co. No confidentiality or privilege is waived or lost by any mistransmission. If you are not the intended recipient, you must not, directly or indirectly, use, disclose, distribute, print or copy any part of this message. If you believe you have received this message in error, please delete it and all copies of it from your system and notify the sender immediately by reply e-mail. Thank you.

Reply via email to