ASP.Net  »  Guide  »  Guida ASP.NET 2.0 

Ordinamento e paginazione



La GridView che abbiamo esaminato nel corso della precedente lezione, visualizza i record di un dataset in una singola pagina, secondo la sua impostazione predefinita. Nel caso in cui i record da visualizzare siano tanti, è possibile visualizzarli in più pagine, dando all'utente la possibilità di navigare tra una pagina a l'altra. Si può inoltre stabilire un ordinamento in modo da facilitare l'utente nel trovare ciò che gli interessa.

In ASP.NET 2.0, con il VWD, si può fare tutto questo semplicemente spuntando una Checkbox. Costruiamo un esempio partendo dall'applicazione realizzata nella lezione precedente.

Apriamo un nuovo progetto posizioniamo una GridView nell'area di lavoro ed apriamo il menu delle "Attività di GridView".

Figura 1. Attività di GridView

Attività di GridView

Abbiamo la possibilità di spuntare le caselle:

  • Attiva paging che serve a visualizzare i record in più pagine,
  • Attiva ordinamento, che serve a permettere all'utente di ordinare i record,
  • Attiva selezione, che serve a permettere all'utente di selezionare il record.

L'opzione Attiva selezione è utile ad esempio se occorre selezionare una riga della tabella di dati, per mostrare i dettagli in un altra GridView. Se la griglia è configurata per consentire la selezione di una riga, la selezione della riga provoca il verificarsi di un evento SelectedIndexChanged che poi andrà gestito in modo opportuno.

Per il nostro esempio, spuntiamo tutte e tre le caselle. Facciamo un test e proviamo a navigare tra le pagine, a selezionare una riga ed ad ordinare i record ad esempio per "au-lname", cliccando sull'intestazione della colonna.

Figura 2. Esempio di paginazione, ordinamento e selezione

Esempio di paginazione, ordinamento e selezione

In ASP.NET 2.0 inoltre, c'è la possibilità di realizzare un ordinamento ed una impaginazione lato client. Basta impostare la proprietà EnableSortingAndPagingCallbacks a True nelle Proprietà del controllo GridView:

Figura 3. Abilitare ordinamento e impaginazione lato client

Abilitare ordinamento e impaginazione lato client

In questo modo, un aggiornamento della pagina non provoca l'usuale sequenza di andata e ritorno dal server ma lavora sui dati già scaricati.

Per testare questa possibilità, dobbiamo togliere disabilitare la selezione (togliamo la spunta da Attiva selezione) altrimenti riceviamo un errore, come è lecito aspettarsi, in quanto, il lancio dell'evento generato dalla selezione, non potrebbe essere gestito.

Se vogliamo personalizzare i numeri di pagina o aggiungere dei simboli possiamo agire nelle proprietà raggruppate sotto la voce "PagerSettings", nel gruppo "Paging" della finestra Proprietà

Figura 4. Personalizzare la paginazione

Personalizzare la paginazione

L'esempio realizzato nel corso di questa lezione può essere scaricato da qui.

Ultimi articoli ASP.Net

LINQ e la trappola della 'deferred execution'

Una "trappola" in cui si può incappare utilizzando il risultato di...

C#, le Custom Type Conversion

Conversioni personalizzate tra classi, creare metodi particolari per...

Introduzione a Entity Framework

Il framework ORM messo a disposizione da .NET

Repeater: visualizzare un feed RSS

Utilizzare il controllo XMLDataSource e sfruttare il metodo XPath()...

Repeater, il server control "semplice"

Cos'è e come funziona il controllo Repeater

Altri articoli

Guide ASP.Net

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Guida Visual Studio 2010

L'ambiente di sviluppo di riferimento per sviluppare applicazioni su...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Progettazione database

11 Maggio 2012 a Milano
Disponibilità: 6 Posti

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto