Der Unterschied zwischen einem DataGrid und einem GridView in ASP.NET?
-
08-06-2019 - |
Frage
Ich beschäftige mich nun schon seit einiger Zeit mit der ASP.NET-Entwicklung und habe bereits sowohl die GridView- als auch die DataGrid-Steuerelemente für verschiedene Zwecke verwendet, aber ich konnte nie einen wirklich guten Grund finden, das eine oder das andere zu verwenden.Ich würde gerne wissen:
Was ist der Unterschied zwischen diesen beiden ASP.NET-Steuerelementen?Welche Vor- oder Nachteile haben beide?Ist einer schneller?Neuer?Leichter zu warten?
Die Intellisense-Zusammenfassung für die Steuerelemente scheint keinen Unterschied zwischen den beiden zu beschreiben.Beide können Daten anzeigen, bearbeiten und sortieren und zur Laufzeit automatisch Spalten generieren.
Bearbeiten: Visual Studio 2008 listet DataGrid nicht mehr als verfügbares Steuerelement in der Toolbox auf.Es ist jedoch immer noch verfügbar (ich gehe davon aus, dass es sich um die Unterstützung älterer Versionen handelt), wenn Sie es jedoch von Hand eingeben.
Lösung
DataGrid war ein ASP.NET 1.1-Steuerelement, das weiterhin unterstützt wird.GridView kam in 2.0, vereinfachte bestimmte Aufgaben und fügte verschiedene Datenbindungsfunktionen hinzu:
Dieser Link enthält einen Vergleich der DataGrid- und GridView-Funktionen:
https://msdn.microsoft.com/en-us/library/05yye6k9(v=vs.100).aspx
Andere Tipps
Der GridView
control ist der Nachfolger des DataGrid
Kontrolle.Wie DataGrid
kontrolliere die GridView
Das Steuerelement wurde entwickelt, um Daten in einer HTML-Tabelle anzuzeigen.Bei Bindung an eine Datenquelle wird die DataGrid
Und GridView
Steuerelemente zeigen jeweils eine Zeile von a an DataSource
als Zeile in einer Ausgabetabelle.
Beide DataGrid
Und GridView
Steuerelemente werden von abgeleitet WebControl
Klasse.Obwohl es ein ähnliches Objektmodell wie das hat DataGrid
Das GridView-Steuerelement verfügt außerdem über eine Reihe neuer Funktionen und Vorteile gegenüber dem DataGrid
Kontrolle, die Folgendes umfasst:
- Umfangreichere Entwurfszeitfunktionen.
- Verbesserte Bindungsmöglichkeiten für Datenquellen.
- Automatische Handhabung von Sortieren, Paging, Aktualisierungen und Löschungen.
- Zusätzliche Spaltentypen und Spaltenoperationen zur Entwurfszeit.
- Eine angepasste Pager-Benutzeroberfläche (UI) mit der PagerTemplate-Eigenschaft.
Unterschiede zwischen den GridView
Kontrolle und die DataGrid
Die Kontrolle umfasst:
- Unterschiedliche Unterstützung für benutzerdefiniertes Paging.
- Verschiedene Veranstaltungsmodelle.
Das Sortieren, Paginieren und direkte Bearbeiten von Daten erfordert bei Verwendung des zusätzliche Codierung DataGrid
Kontrolle.Der GridView
Mit Control können Sie Sortier-, Paginierungs- und Bearbeitungsfunktionen hinzufügen, ohne Code schreiben zu müssen.Stattdessen können Sie diese Aufgaben zusammen mit anderen allgemeinen Aufgaben wie der Datenbindung an eine Datenquelle automatisieren, indem Sie Eigenschaften für das Steuerelement festlegen.
Das DataGrid war ursprünglich in .NET 1.0.GridView wurde in .NET 2.0 eingeführt (und ersetzte DataGrid).Sie bieten nahezu identische Funktionalität.
Wenn Sie in Visual Studio 2008/.NET 3.5 arbeiten, sollten Sie beides wahrscheinlich nicht verwenden.Verwenden Sie ListView – es bietet Ihnen die Funktionen von GridView kombiniert mit der Gestaltungsflexibilität eines Repeaters.
Der Hauptunterschied liegt in der ViewState-Verwaltung IIRC.Für das DataGrid muss ViewState aktiviert sein, um über Bearbeitungs- und Sortierfunktionen zu verfügen.
Ein wesentlicher Sicherheitsunterschied besteht darin, dass DataGrid BoundColumn verwendet, das die gebundenen Daten nicht mit HtmlEncode codiert.Es gibt auch keine Eigenschaft zum Aktivieren oder Deaktivieren von HtmlEncoding, daher müssen Sie dies irgendwie im Code tun.
GridView verwendet BoundField, das standardmäßig HtmlEncode für die gebundenen Daten ausführt und über eine HtmlEncode-Eigenschaft verfügt, falls Sie diese deaktivieren müssen.
DataGrid
DataGrid
wurde mit eingeführtAsp.Net 1.0
.- Für die Sortierung müssen wir uns kümmern
SortCommand event
und Rebind Grid erforderlich, und für Paging müssen wir das behandelnPageIndexChanged event
und Gitter neu binden erforderlich. - Es muss Code zum Implementieren von Aktualisierungs- und Löschvorgängen geschrieben werden.
- Unterstützt keine automatischen Format- oder Stilfunktionen.
- Die Leistung ist im Vergleich zu schnell
GridView
.
Rasteransicht
- GridView wurde mit eingeführt
Asp.Net 2.0
. - Eingebaute Stützen für
Paging and Sorting
. - Eingebaute Stützen für
Update and Delete operations
. - Unterstützt automatische Format- oder Stilfunktionen.
- Die Leistung ist im Vergleich zu langsam
DataGrid
.
Der events
Und properties
wie Item
hat sich geändert als Row
.
Zum Beispiel,
ItemCommand - RowCommand
ItemDataBound - RowDataBound
e.Item.ItemType - e.Row.RowType
Einige grundlegende Unterschiede zwischen der Rasteransicht und der Detailansicht
Das GridView-Steuerelement bietet außerdem eine Reihe neuer Funktionen und Vorteile gegenüber dem DataGrid-Steuerelement, darunter:
· Umfangreichere Entwurfszeitfunktionen.· Verbesserte Möglichkeiten zur Datenquellenbindung.· Automatische Handhabung von Sortieren, Paging, Aktualisierungen und Löschungen.· Zusätzliche Spaltentypen und Spaltenoperationen zur Entwurfszeit.· Eine angepasste Pager-Benutzeroberfläche (UI) mit der PagerTemplate-Eigenschaft.
Zu den Unterschieden zwischen dem GridView-Steuerelement und dem DataGrid-Steuerelement gehören:· Unterschiedliche Unterstützung für benutzerdefiniertes Paging.· Verschiedene Veranstaltungsmodelle.
Einer der Unterschiede ist die HTML-Ausgabe.Ein Datagrid gibt TDs für den Header aus und eine Gridview gibt THs aus.Dies kann zu unbeabsichtigten Änderungen in der Anzeige führen.