venerdì 29 marzo 2013

PrimeFaces dataTable paginazione e ritorno a pagina selezionata

Utilizzando il componente p:dataTable di primefaces ho avuto necessità di implementare la paginazione (cosa banale) e poi soprattutto, una volta selezionato un elemento della lista, al ritorno sulla lista stessa tornare sulla pagina selezionata e non , come avviene con il comportamento di default, sulla prima pagina.
Stiamo parlando di un caricamento dati classico, non di un LazyLoading.
Per fare questa attività mi è stato molto utile questo link sul forum di primefaces (http://forum.primefaces.org/viewtopic.php?f=3&t=25399 ).

Le attività da compiere sono le seguenti:

1) Definire il bean della tabella come SessionScoped

2) Definire sul bean una proprietà di tipo int (io seguendo l'esempio del forum l'ho denominata first)

3) Inserire sugli attributi del p:dataTable l'attributo first="#{tabellaClienti.first}" dove tabellaClienti è il nome del mio bean di tabella e first la proprietà appena inserita.

4) All'interno della tabella inserire un evento ajax che scatta al cambio di paginazione



<p:ajax event="page" listener="#{tabellaClienti.onPageChange}"/>


Il codice dell'evento è il seguente

public void onPageChange(PageEvent event) {
 log.debug("Clicco sulla pagina "+event.getPage());
 this.setFirst(event.getPage());
}


Nessun commento:

Posta un commento