Scrive Manfred Geiler <[EMAIL PROTECTED]>:
Francesco,
Just place your "populate()" call into your getList method, use the
<x:dataTable> instead of <h:dataTable>, set the "preserveData" attribute
to true and lean back. ;-)
There is some (not yet neatly documented) magic inside the extended data
table that makes the component do call your getList method only once per
request.
Thanks, but I'm sorry to inform you that even if I use x:dataTable, the
"getList" method is being called at least 8 (eight) times....
here is the dataTable code:
"result" is the ArrayList populated. I've to populate it at every page request
because its query depends on some parameters that the user can select in form
in order to filter result set.
<x:dataTable var="g" value="#{mb.rsTelxSett.result}"
styleClass="standardTable"
headerClass="standardTable_SortHeader"
footerClass="standardTable_Footer"
columnClasses="standardTable_Column,standardTable_Column,standardTable_Column,standardTable_ColumnRight,standardTable_ColumnRight"
rendered="#{mb.rsTelxSett.count > 0}"
preserveDataModel="true">
<f:facet name="header">
<h:panelGroup>
<h:outputText value="Statistiche telefono"/>
</h:panelGroup>
</f:facet>
<h:column id="c0">
<f:facet name="header"><h:outputText value="Utente"
id="h0"/></f:facet>
<h:outputText value="#{g.COGNOMENOME}" id="c1Text0"/>
</h:column>
<h:column id="c1">
<f:facet name="header"><h:outputText value="Codice"
id="h1"/></f:facet>
<h:outputText value="#{g.CODICE}" id="c1Text"/>
</h:column>
<h:column id="c2">
<f:facet name="header"><h:outputText value="Centro di Costo"
id="h2"/></f:facet>
<h:outputText value="#{g.NOME}" id="c1Text2"/>
</h:column>
<h:column id="c3">
<f:facet name="header"><h:outputText value="Scatti"
id="h3"/></f:facet>
<h:outputText value="#{g.TOT}" id="c1Text3"/>
</h:column>
<h:column id="c4">
<f:facet name="header"><h:outputText value="Costo totale"
id="h4"/></f:facet>
<h:outputText value="#{g.COSTOTOT}" id="c1Text4">
<f:convertNumber type="currency"/>
</h:outputText>
</h:column>
</x:dataTable>
many thanks for support.
--
Francesco Consumi
Ufficio Sistemi informativi
Istituto degli Innocenti
Piazza SS.Annunziata, 12
50122 Firenze
consumi at istitutodeglinnocenti.it
Tel. +39 055 2037320
ICQ# 12516133