La differenza tra un DataGrid e un GridView in ASP.NET?
-
08-06-2019 - |
Domanda
Sto sviluppando ASP.NET da un po' di tempo ormai e ho già utilizzato sia i controlli GridView che DataGrid per varie cose, ma non sono mai riuscito a trovare un motivo veramente valido per utilizzare l'uno o l'altro.vorrei sapere:
Qual è la differenza tra questi 2 controlli ASP.NET?Quali sono i vantaggi o gli svantaggi di entrambi?Uno è più veloce?Più nuovo?Più facile da mantenere?
Il riepilogo IntelliSense per i controlli non sembra descrivere alcuna differenza tra i due.Entrambi possono visualizzare, modificare e ordinare i dati e generare automaticamente colonne in fase di esecuzione.
Modificare: Visual Studio 2008 non elenca più DataGrid come controllo disponibile nella casella degli strumenti.È ancora disponibile (presumo per il supporto legacy) se lo digiti a mano.
Soluzione
DataGrid era un controllo ASP.NET 1.1, ancora supportato.GridView è arrivato nella versione 2.0, ha reso alcune attività più semplici e ha aggiunto diverse funzionalità di associazione dati:
Questo collegamento presenta un confronto tra le funzionalità DataGrid e GridView:
https://msdn.microsoft.com/en-us/library/05yye6k9(v=vs.100).aspx
Altri suggerimenti
IL GridView
il controllo è il successore del DataGrid
controllo.Come il DataGrid
controllo, il GridView
il controllo è stato progettato per visualizzare i dati in una tabella HTML.Quando è associato a un'origine dati, il file DataGrid
E GridView
controlla ciascuno visualizza una riga da a DataSource
come riga in una tabella di output.
Entrambi i DataGrid
E GridView
i controlli derivano da WebControl
classe.Sebbene abbia un modello a oggetti simile a quello di DataGrid
controllo, il controllo GridView presenta anche una serie di nuove funzionalità e vantaggi rispetto a DataGrid
controllo, che includono:
- Funzionalità in fase di progettazione più ricche.
- Funzionalità di associazione dell'origine dati migliorate.
- Gestione automatica di ordinamento, impaginazione, aggiornamenti ed eliminazioni.
- Tipi di colonne aggiuntivi e operazioni sulle colonne in fase di progettazione.
- Un'interfaccia utente (UI) cercapersone personalizzata con la proprietà PagerTemplate.
Differenze tra il GridView
controllo e il DataGrid
il controllo include:
- Supporto diverso per la paginazione personalizzata.
- Diversi modelli di eventi.
L'ordinamento, l'impaginazione e la modifica sul posto dei dati richiedono una codifica aggiuntiva quando si utilizza il file DataGrid
controllo.IL GridView
Il controllo consente di aggiungere funzionalità di ordinamento, impaginazione e modifica senza scrivere alcun codice.È invece possibile automatizzare queste attività, insieme ad altre attività comuni come l'associazione dati a un'origine dati, impostando le proprietà nel controllo.
Il DataGrid era originariamente in .NET 1.0.GridView è stato introdotto (e ha sostituito DataGrid) in .NET 2.0.Forniscono funzionalità quasi identiche.
Se lavori in Visual Studio 2008/.NET 3.5, probabilmente non dovresti utilizzare nessuno dei due.Utilizza ListView: ti offre le funzionalità di GridView combinate con la flessibilità di stile di un ripetitore.
La differenza fondamentale sta nella gestione ViewState IIRC.DataGrid richiede che ViewState sia attivato per avere funzionalità di modifica e ordinamento.
Una differenza fondamentale dal punto di vista della sicurezza è che DataGrid utilizza BoundColumn che non codifica HtmlEncode i dati associati.Non esiste nemmeno una proprietà per attivare o disattivare HtmlEncoding, quindi è necessario farlo in qualche modo nel codice.
GridView usa BoundField, che esegue HtmlEncode per impostazione predefinita sui dati associati e dispone di una proprietà HtmlEncode se è necessario disattivarla.
DataGrid
DataGrid
è stato introdotto conAsp.Net 1.0
.- Per l'ordinamento dobbiamo gestire
SortCommand event
e rebidruire la griglia richiesta e per il paging dobbiamo gestire ilPageIndexChanged event
e riassociare la griglia richiesta. - È necessario scrivere codice per implementare le operazioni di aggiornamento ed eliminazione.
- Non supporta la formattazione automatica o le funzionalità di stile.
- Le prestazioni sono veloci rispetto a
GridView
.
Vista a griglia
- GridView è stato introdotto con
Asp.Net 2.0
. - Supporti integrati per
Paging and Sorting
. - Supporti integrati per
Update and Delete operations
. - Supporta la formattazione automatica o le funzionalità di stile.
- Le prestazioni sono lente rispetto a
DataGrid
.
IL events
E properties
Piace Item
è cambiato come Row
.
Per esempio,
ItemCommand - RowCommand
ItemDataBound - RowDataBound
e.Item.ItemType - e.Row.RowType
alcune differenze fondamentali tra la visualizzazione griglia e la visualizzazione dettagli
il controllo GridView presenta inoltre una serie di nuove funzionalità e vantaggi rispetto al controllo DataGrid, tra cui:
· Funzionalità più ricche in fase di progettazione.· Funzionalità di associazione delle origini dati migliorate.· Gestione automatica di ordinamento, impaginazione, aggiornamenti ed eliminazioni.· Tipi di colonne aggiuntivi e operazioni sulle colonne in fase di progettazione.· Un'interfaccia utente (UI) cercapersone personalizzata con la proprietà PagerTemplate.
Le differenze tra il controllo GridView e il controllo DataGrid includono:· Supporto diverso per la paginazione personalizzata.· Diversi modelli di eventi.
Una delle differenze è l'output HTML.Un datagrid produrrà TD per l'intestazione e un gridview produrrà TH.Ciò può causare cambiamenti non intuitivi nel display.