Confronto dei controlli server Web GridView e DataGrid
Aggiornamento: novembre 2007
Il controllo GridView è il successore del controllo DataGrid. Analogamente al controllo DataGrid, GridView è stato progettato per la visualizzazione dei dati in una tabella HTML. Quando vengono associati a un'origine dati, DataGrid e GridView visualizzano entrambi una riga di un'origine dati DataSource come una riga di una tabella di output.
Entrambi i controlli derivano dalla classe WebControl. Sebbene disponga di un modello a oggetti simile a quello del controllo DataGrid, il controllo GridView presenta anche una serie di nuove funzionalità e vantaggi rispetto al primo, tra cui:
Funzionalità design-time avanzate.
Migliori funzionalità di associazione all'origine dati.
Gestione automatica delle operazioni di ordinamento, spostamento, aggiornamento ed eliminazione.
Tipi di colonne aggiuntive e operazioni su colonne design-time.
Un'interfaccia utente di spostamento personalizzata con la proprietà PagerTemplate.
Le differenze tra il controllo GridView e il controllo DataGrid includono:
Differente supporto personalizzato per lo spostamento.
Differenti modelli di eventi.
Funzionalità design-time avanzate
Le operazioni di ordinamento, spostamento e modifica dei dati sul posto richiedono una codifica supplementare quando si utilizza il controllo DataGrid. Il controllo GridView consente di aggiungere le funzionalità di ordinamento, spostamento e modifica senza scrivere codice. È anzi possibile automatizzare queste attività, unitamente ad altre attività comuni quali l'associazione dati a un'origine dati, mediante l'impostazione di proprietà sul controllo.
Se si sta lavorando in una finestra di progettazione, quale Microsoft Visual Studio, è possibile utilizzare le funzionalità di progettazione integrate nel controllo GridView. GridView include il supporto per un pannello smart tag che fornisce un'interfaccia funzionale per l'esecuzione di attività comuni quali l'impostazione delle proprietà e l'avvio della modifica dei modelli.
Migliori funzionalità di associazione all'origine dati
In genere, un controllo DataSet o DbDataReader o un insieme quale ArrayArrayList o un'altra classe inclusa nello spazio dei nomi System.Collections viene assegnata alla proprietà DataSource del controllo DataGrid o GridView. Ai controlli DataGrid e GridView può essere associato qualsiasi oggetto che implementa l'interfaccia IEnumerable o IListSource.
Sebbene il controllo DataGrid possa associare un controllo DataSourceControl in modo dichiarativo, questa operazione può essere eseguita solo per la selezione dati. Le operazioni di ordinamento, spostamento, aggiornamento ed eliminazione devono essere codificate manualmente. Il controllo GridView supporta una proprietà DataSourceID che accetta qualsiasi oggetto che implementa l'interfaccia IDataSource e può quindi sfruttare le funzionalità di ordinamento, spostamento, aggiornamento ed eliminazione del controllo origine dati, ad esempio il controllo SqlDataSource.
Tipi di colonne aggiuntive
Il controllo GridView supporta i seguenti tipi di colonne: BoundField, HyperLinkField, ButtonField, CommandFieldImageField e CheckBoxField.
Supporto incorporato e personalizzato per lo spostamento
Il controllo DataGrid richiede codice supplementare per lo spostamento. Il controllo GridView supporta automaticamente lo spostamento mediante l'impostazione della proprietà PagerSettings. La proprietà PagerSettings supporta quattro modalità: Numeric(predefinita), NextPrevious, NumericFirstLast e NextPreviousFirstLast. La modalità Numeric visualizza collegamenti a pagine numerate anziché collegamenti alla pagina successiva/precedente, mentre l'opzione NumericFirstLast aggiunge collegamenti alla prima e all'ultima pagina. La proprietà PagerStyle del controllo GridView può essere utilizzata per impostare gli stili e la posizione del componente di spostamento.
È inoltre possibile personalizzare i pulsanti del componente di spostamento per il controllo GridView utilizzando un modello PagerTemplate.
Il supporto per lo spostamento personalizzato in GridView è fornito dal controllo origine dati associati, contrapposto al meccanismo AllowCustomPaging fornito dal controllo DataGrid.
Modello di eventi espanso
I controlli DataGrid e GridView dispongono di modelli di eventi differenti.
Il controllo DataGrid genera singoli eventi per le operazioni, mentre il controllo GridView può generare sia eventi precedenti che successivi. Il controllo GridView supporta l'evento Sorting che si verifica quando viene ordinato un campo. Questo evento di ordinamento si verifica prima che il controllo GridView gestisca automaticamente l'operazione di ordinamento, offrendo la possibilità di esaminare o modificare la proprietà SortExpression o di annullare l'operazione impostando la proprietà Cancel su true negli argomenti di evento passati.
Il controllo GridView supporta l'evento Sorted che si verifica quando il controllo GridView completa l'operazione di ordinamento, consentendo così di modificare o formattare il risultato dell'operazione di ordinamento. Il controllo DataGrid supporta invece l'evento SortCommand che si verifica quando viene ordinata una colonna. Analogamente, il controllo GridView supporta gli eventi RowUpdating e RowUpdated che si verificano prima e dopo l'aggiornamento automatico eseguito dal controllo GridView. Il controllo DataGrid supporta invece l'evento UpdateCommand, che si verifica quando viene fatto clic sul pulsante Update per selezionare un elemento nella griglia.
Per ulteriori informazioni sugli eventi GridView, vedere Eventi generati dal controllo server Web GridView.
Vedere anche
Concetti
Spostamento tra le pagine in un controllo server Web GridView
Modifica dei dati in un controllo server Web GridView
Procedura dettagliata: ordinamento semplice per il controllo server Web GridView