Hi, I have a <rich:extendedDataTable> in a panel to display search results.The table uses ExtendedDataModel as the backbean. The panel is refreshed only if a menu command is clicked. However, I found that the methods walk() and getRowCount() are called whenever any portion of the page is submitted by ajax. To make sure that panel is not rendered, I added <h:outputText value="#{resultTable.test}" /> to the panel, and I found that getTest() is not called.
<h:form style="margin:0px; padding:0px; border:5px;">
<h:outputText value="#{resultTable.test}" />
<a4j:queue requestDelay="10" />
<rich:datascroller id="datascroller" for="resultTable" page="#{resultTable.scrollerPage}"/>
<rich:extendedDataTable value="#{resultTable}" var="row" rows="3" id="resultTable"
width="100%" height="425px" selection="#{resultTable.selection}">
<a4j:support event="onselectionchange" />
<rich:columns value="#{resultTable.propertyNames}" var="propName" >
<f:facet name="header">
<h:outputText value="#{propName}" />
</f:facet>
<h:outputText value="#{row.map[propName]}" />
</rich:columns>
</rich:extendedDataTable>
</h:form>
you should add limittolist=true to controls which should not try to check iteration components for auto updated data (like messages).. and also use regions, ajaxSingle in order to limit decodes.