Freigeben über


Einführung in das DataGrid-Webserversteuerelement

Das DataGrid-Webserversteuerelement zeigt Daten in einem tabellarischen Layout an. Standardmäßig zeigt DataGrid die Daten in schreibgeschütztem Modus an, ist aber auch in der Lage, die Daten in bearbeitbaren Steuerelementen zur Laufzeit automatisch anzuzeigen. Über das Dialogfeld Eigenschaftengenerator kann das DataGrid-Steuerelement auch die Schaltflächen Auswählen, Bearbeiten, Aktualisieren und Abbrechen sowie die Programmierstruktur für Sie erstellen. Darüber hinaus unterstützt das DataGrid-Steuerelement Paging, obwohl Sie auch die benutzerdefinierten Navigationsfeatures des Steuerelements verwenden können, um die Leistung zu verbessern, indem Sie die Menge der an den Clientbrowser gesendeten Daten steuern.

**Hinweis   **Verwenden Sie das Repeater-Webserversteuerelement, wenn Sie das durch die Liste wiedergegebene HTML vollständig steuern möchten. Mit dem DataList-Steuerelement können Sie Daten in einem nicht tabellarischen Layout anzeigen. Weitere Informationen finden Sie unter Steuerelemente zum Anzeigen von Listen auf Webseiten.

Die folgenden Abschnitte stellen eine Einführung in die Features des DataGrid-Steuerelements dar.

Binden von Daten an das Steuerelement

Das DataGrid-Webserversteuerelement muss über seine DataSource-Eigenschaft an eine Datenquelle gebunden werden, damit es auf der Seite wiedergegeben wird. Typische Datenquellen für das DataGrid-Steuerelement sind DataSet und Datenleser. Sie können Datenquellen aus der Toolbox verwenden, z. B. die DataSet-Klasse oder die DataView-Klasse. Außerdem können Sie Daten an im Code erstellte Datenquellen binden, z. B. an einen Datenleser oder an ein Array. Das Steuerelement kann jede Klasse als Datenquelle verwenden, die die IEnumerable-Schnittstelle unterstützt.

Beim Binden von Daten legen Sie eine Datenquelle für das gesamte DataGrid-Steuerelement fest. Das Datenblatt zeigt eine Zeile (ein Element) für jede Zeile in der Datenquelle an. Standardmäßig erzeugt das DataGrid-Steuerelement eine gebundene Spalte für jedes Feld in der Datenquelle. Sie können jedoch auswählen, welche Felder in der Datenquelle Spalten im Datenblatt erzeugen sollen. Weitere Informationen über Datenbindung finden Sie unter Einführung in den Datenzugriff in Web Forms-Seiten.

Wenn die Webseite funktioniert, muss Ihr Code die DataBind-Methode des Steuerelements zum Laden des Datenblattes mit Daten aufrufen. Sie rufen die Methode erneut auf, wenn sich die Daten ändern (z. B. in einem Ereignishandler), um das Datenblatt zu aktualisieren.

Als Teil der Datenbindung können Sie eine DataKeyField-Eigenschaft angeben. Diese Eigenschaft ermöglicht die Festlegung von Informationen, durch die jedes Element im Datenblatt eindeutig gekennzeichnet wird. Die Informationen müssen nicht zu den im Datenblatt angezeigten Informationen gehören. Sie können aus dem Namen eines Feldes in der Datenquelle (z. B. einem Primärschlüssel) bestehen. Sie können diese Informationen zum Aktualisieren eines speziellen Elements in der Datenquelle verwenden. Wenn Sie beispielsweise DataKeyField auf customerId festlegen, können Sie den Datensatz später aktualisieren, für den customerID=DataGrid1.DataKeys[DataGrid1.SelectedIndex] gilt.

Wie bei anderen Serversteuerelementen erfolgt die Datenbindung im DataGrid-Steuerelement nur in einer Richtung, d. h. die Datenbindung ist schreibgeschützt. Wenn Sie den Benutzern mit Hilfe des Datenblattes die Bearbeitung der Daten ermöglichen, müssen Sie Ihren eigenen Code erstellen, um die Datenquelle zu aktualisieren. Nach der Aktualisierung der Datenquelle binden Sie die Daten erneut an die Datenquelle. Die Aktualisierungslogik nutzt zum Suchen des richtigen Datensatzes mit Hilfe des Schlüsselwertes oft DataKeyField.

Weitere Informationen über das Aktualisieren von Daten mit dem DataGrid-Steuerelement finden Sie weiter unten unter "Bearbeiten von Elementen". Allgemeine Informationen über Datenbindung in Serversteuerelementen finden Sie unter Datenzugriff in Web Forms-Seiten.

Formatieren von Elementen

Die Registerkarte Format des Dialogfeldes Eigenschaftengenerator steuert das Layout der Zeilen des DataGrids. Diese Einstellungen legen die Farbe, Schriftart und Ausrichtung der Zeilen fest. Der tatsächliche Inhalt von Steuerelement, Text und Daten in der Zeile wird auf der Registerkarte Spalten des Dialogfeldes Eigenschaftengenerator festgselegt. Die folgenden Elemente können konfiguriert werden:

  • DataGrid   Diese Einstellungen werden auf das gesamte Datenblatt angewendet. Andere Elementformate überschreiben diese Einstellungen.
  • Header   Der Header ist die oberste Zeile im DataGrid und zeigt nicht die Zeilendaten der Datenquelle an. Sie müssen auf der Registerkarte Allgemein des Eigenschaftengenerators angeben, ob Sie den Header anzeigen möchten. Er wird standardmäßig angezeigt.
  • Footer   Dies ist die unterste Zeile im DataGrid. Dort werden keine Zeilendaten der Datenquelle angezeigt. Sie müssen auf der Registerkarte Allgemein des Eigenschaftengenerators angeben, ob Sie die den Footer anzeigen möchten. Er wird standardmäßig nicht angezeigt.
  • Pager   Verwenden Sie dieses Element zum Steuern der Darstellung der Pagingsteuerelemente, wenn Sie jeweils nur einige Zeilen Ihrer Datenquelle mit Hilfe der Auslagerungsfunktionen des DataGrids anzeigen.
  • Elemente   Die folgenden vier Elemente legen fest, wie die Datenzeilen angezeigt werden. Dies sind:
    • Normale Elemente   Dieses Format wird für alle Datenzeilen der Tabelle verwendet, wenn sie nicht von einem anderen Element überschrieben wurden.
    • Abwechselnde Elemente   Dieses Format wird für jedes zweite Element im Steuerelement verwendet.
    • Ausgewählte Elemente   Dieses Format wird für das ausgewählte Element im Steuerelement verwendet.
    • Moduselemente bearbeiten   Dieses Format wird für das aktuell bearbeitete Element verwendet.
  • Spalten   Mit diesem Element können Sie das Format der Spalten angeben, die Sie auf der Registerkarte Spalten des Eigenschaften-Generators erstellen.

Weitere Informationen über die Verwendung von Elementformaten finden Sie unter Festlegen des Formats von Datenblattelementen in einem DataGrid-Webserversteuerelement und Festlegen des Pagingverhaltens in einem DataGrid-Webserversteuerelement.

Spalten

Mit dem DataGrid-Steuerelement können Sie die Spalten festlegen, die es auf mehrere Arten anzeigt. Standardmäßig werden die Spalten automatisch auf der Grundlage von Feldern in der Datenquelle generiert. Um Inhalt und Layout der Spalten jedoch genauer zu steuern, können Sie die folgenden Spaltentypen definieren:

Spaltentyp Beschreibung
Gebundene Spalte Ermöglicht Ihnen, festzulegen, welches Datenquellenfeld angezeigt werden soll. Ermöglicht außerdem die Festlegung des Formats dieses Feldes mit Hilfe eines .NET-Formatierungsausdrucks. Weitere Informationen finden Sie unter Hinzufügen gebundener Spalten zu einem DataGrid-Webserversteuerelement.
Hyperlinkspalte Zeigt Informationen als Hyperlinks an. Eine typische Verwendung ist die Anzeige von Daten (z. B. eine Kundennummer oder ein Produktname) als Hyperlink, auf den die Benutzer klicken können, um auf eine separate Seite zu blättern, die ausführliche Informationen über das entsprechende Element enthält. Weitere Informationen finden Sie unter Hinzufügen von Hyperlinkspalten zu einem DataGrid-Webserversteuerelement.
Schaltflächenspalte Ermöglicht das Hinzufügen einer Schaltfläche für jedes Element im Datenblatt und die Definition der benutzerdefinierten Funktionen für diese Schaltfläche. Sie möchten beispielsweise eine Schaltfläche mit der Bezeichnung "In den Einkaufswagen legen" erstellen, die Ihre benutzerdefinierte Logik aufruft, wenn ein Benutzer darauf klickt. Sie können auch vordefinierte Schaltflächen für die Funktionen Auswählen, Bearbeiten, Aktualisieren und Abbrechen hinzufügen. Weitere Informationen finden Sie unter Hinzufügen von Schaltflächenspalten zu einem DataGrid-Webserversteuerelement.
Bearbeitungs-, Aktualisierungs- und Abbruchsspalte Ermöglicht die direkte Bearbeitung. Weitere Informationen finden Sie weiter unten im Abschnitt "Bearbeiten von Elementen".
Vorlagenspalte Ermöglicht die Kombination von HTML-Text und Serversteuerelementen für den Entwurf eines benutzerdefinierten Layouts für eine Spalte. Die Steuerelemente in einer Vorlagenspalte können datengebunden sein. Vorlagenspalten bieten Ihnen große Flexibilität bei der Definition von Layout und Funktionen der Datenblattinhalte, weil Sie genau kontrollieren können, wie die Daten angezeigt werden und was geschieht, wenn Benutzer mit Zeilen im Datenblatt arbeiten. Weitere Informationen finden Sie unter Hinzufügen von Vorlagenspalten zu einem DataGrid-Webserversteuerelement.

Weitere Informationen über Spalten finden Sie unter DataGrid-Spalten.

Ereignisse

Das DataGrid-Steuerelement unterstützt mehrere Ereignisse. Mit dem ItemCreated-Ereignis können Sie den Elementerstellungsprozess anpassen. Das ItemDataBound-Element ermöglicht ebenfalls die Anpassung des DataGrid-Elements, jedoch nachdem die Daten für die Überprüfung zur Verfügung stehen. Wenn Sie beispielsweise das DataGrid-Steuerelement zum Anzeigen einer Aufgabenliste verwenden, können Sie überfällige Elemente in rotem, abgeschlossene in schwarzem und andere Aufgaben in grünem Text darstellen.

Die verbleibenden Ereignisse werden durch das Klicken auf Schaltflächen oder LinkButton in Datenblattelementen aufgerufen. Sie werden entworfen, um Sie bei der Implementierung allgemeiner Datenbearbeitungsaufgaben zu unterstützen. Die folgenden vier Formate dieses Typs werden unterstützt:

  • EditCommand
  • DeleteCommand
  • UpdateCommand
  • CancelCommand

Das Dialogfeld Eigenschaftengenerator des DataGrid-Steuerelements erstellt die Schaltflächen, die für das Auslösen dieser Ereignisse zur Laufzeit benötigt werden. Wenn der Benutzer auf eine der Schaltflächen klickt (in der Standardeinstellung mit den Bezeichnungen Bearbeiten, Löschen, Aktualisieren bzw. Abbrechen),wird das entsprechende Ereignis ausgelöst.

Das DataGrid-Steuerelement unterstützt auch das ItemCommand-Ereignis, das ausgelöst wird, wenn ein Benutzer auf eine andere Schaltfläche als die oben genannten vordefinierten Schaltflächen klickt. Sie können dieses Ereignis für benutzerdefinierte Funktionen verwenden, indem Sie die CommandName-Eigenschaft der Schaltfläche auf den gewünschten Wert setzen und ihn anschließend im ItemCommand-Ereignishandler testen. (Auf diese Weise können Sie z. B. vorgehen, wenn Sie ein Element wie unter Ermöglichen, dass Benutzer Elemente in einem DataList-Webserversteuerelement auswählen können beschrieben auswählen.)

Eine vollständige Liste der vom DataGrid-Steuerelement unterstützten Ereignisse finden Sie unter DataList-Ereignisse. Weitere Informationen über Ereignisse finden Sie unter Ereignismodell für ASP.NET-Serversteuerelemente. Informationen über die Unterstützung dieser Ereignisse mit dem DataGrid finden Sie unter Ermöglichen, dass Benutzer Elemente in einem DataGrid-Webserversteuerelement auswählen können, Ermöglichen, dass Benutzer Elemente in einem DataGrid-Webserversteuerelement bearbeiten können und Ermöglichen, dass Benutzer Elemente in einem DataGrid-Webserversteuerelement löschen können.

Bearbeiten von Elementen

Sie können zulassen, dass Benutzer den Inhalt einzelner Zeilen in einem Datenblattelement bearbeiten. Es gibt zwei Möglichkeiten, um dies zu erreichen:

  • Ermöglichen Sie eine direkte Bearbeitung. Dies ist die leichtere Methode für die Implementierung der Bearbeitung. Mit dem Eigenschaftengenerator fügen Sie eine spezielle Spalte in das Datenblatt ein, die als Spalte zum Bearbeiten, Aktualisieren oder Abbrechen bezeichnet wird. Zur Laufzeit enthält jede Zeile der Spalte eine Schaltfläche mit der Bezeichnung Bearbeiten. Wenn ein Benutzer auf diese Bearbeitungsschaltfläche klickt, zeigt das Steuerelement automatisch die aktuelle Zeile mit TextBox-Steuerelementen für alle Spalten erneut an. Die Spalte mit der Bearbeitungsschaltfläche wird mit den Schaltflächen Aktualisieren und Abbrechen erneut angezeigt. Sie fügen Code zum UpdateCommand-Ereignis und CancelCommand-Ereignis hinzu, um die Änderungen bei der Bearbeitung von Steuerelementen an Ihre Datenquelle zurück zu übertragen.

    Weitere Informationen finden Sie unter Ermöglichen, dass Benutzer Elemente in einem DataGrid-Webserversteuerelement bearbeiten können.

  • Erstellen Sie mit einer Vorlagenspalte ein benutzerdefiniertes Layout. Sie können Spalten erstellen, die die Daten in bearbeitbaren Steuerelementen anzeigen. Dieser Ansatz ermöglicht es Ihnen auszuwählen, welche Spalten bearbeitet werden und wie die Benutzer die Daten bearbeiten können. Anstatt beispielsweise ein TextBox-Steuerelement für true-false-Daten zu verwenden, bevorzugen Sie möglicherweise ein ListBox-Steuerelement mit den Einträgen "true" und "false". Mit einer Vorlagenspalte können Sie mehr als ein Steuerelement in eine DataGrid-Zelle einfügen.

    Die Vorlagenspalte unterstützt vier Vorlagen:

    • HeaderTemplate
    • ItemTemplate
    • EditItemTemplate
    • FooterTemplate

    Weitere Informationen finden Sie unter Ermöglichen, dass Benutzer Elemente in einem DataGrid-Webserversteuerelement bearbeiten können und Ermöglichen, dass Benutzer Elemente in einem DataGrid-Webserversteuerelement löschen können.

Sortieren

Mit dem DataGrid-Webserversteuerelement können Sie Sortieroptionen zum Datenblatt hinzufügen. Das Datenblatt unterstützt nicht direkt das Sortieren – es sortiert Ihnen also nicht den Inhalt des Datenblattes. Aber es bietet die Möglichkeit, Sortieroptionen zum Datenblatt hinzuzufügen, z. B. Hyperlinks in Spaltenüberschriften, auf die Benutzer zum Sortieren klicken. Das Datenblatt benachrichtigt Sie dann, wenn ein Benutzer das Sortieren angefordert hat. Anschließend sortieren Sie die Datenquelle und binden sie erneut an das DataGrid-Steuerelement.

Das DataGrid-Steuerelement sieht zwei Ebenen der Sortierunterstützung vor:

  • Standardsortierung   Sie legen fest, dass das Datenblatt das Sortieren unterstützen soll. Alle Spaltenheaders sind Linkschaltflächen. Wenn der Benutzer darauf klickt, werden Sie über den Sortiervorgang informiert. Diese Lösung ist einfach, ermöglicht es Ihnen jedoch nicht festzulegen, welche Spalten das Sortieren unterstützen sollen, weil alle Spalten das Sortieren unterstützen.
  • Benutzerdefinierte Sortierung   Sie definieren, welche Spalten das Sortieren unterstützen. Hierbei handelt es sich um eine komplexere Option, weil Sie die Spalten mit Hilfe von gebundenen Spalten oder Vorlagenspalten definieren müssen. Dies ermöglicht es Ihnen jedoch nicht, nur festzulegen, welche Spalten sortiert werden können, sondern Sie können jedes beliebige Steuerelement, das sich im Spaltenheader befinden soll, als Sortierschaltfläche verwenden. Beispiel: Sie verwenden eine Grafik, die Sie mit Hilfe eines ImageButton-Webserversteuerelements erstellen.

Weitere Informationen finden Sie unter Hinzufügen der Sortierung zu einem DataGrid-Webserversteuerelement.

Siehe auch

DataGrid-Webserversteuerelement | Hinzufügen von DataGrid-Webserversteuerelementen zu einer Web Forms-Seite | DataGrid-Klasse