Der Unterschied zwischen einem DataGrid und einem GridView in ASP.NET?

StackOverflow https://stackoverflow.com/questions/4230

  •  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.

War es hilfreich?

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

  1. DataGrid wurde mit eingeführt Asp.Net 1.0.
  2. Für die Sortierung müssen wir uns kümmern SortCommand event und Rebind Grid erforderlich, und für Paging müssen wir das behandeln PageIndexChanged eventund Gitter neu binden erforderlich.
  3. Es muss Code zum Implementieren von Aktualisierungs- und Löschvorgängen geschrieben werden.
  4. Unterstützt keine automatischen Format- oder Stilfunktionen.
  5. Die Leistung ist im Vergleich zu schnell GridView.

Rasteransicht

  1. GridView wurde mit eingeführt Asp.Net 2.0.
  2. Eingebaute Stützen für Paging and Sorting.
  3. Eingebaute Stützen für Update and Delete operations.
  4. Unterstützt automatische Format- oder Stilfunktionen.
  5. 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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top