Gewusst wie: Formatieren des DataGrid-Steuerelements in Windows Forms
Aktualisiert: November 2007
Hinweis: |
---|
Obwohl das DataGrid-Steuerelement durch das DataGridView-Steuerelement ersetzt und funktionell erweitert wird, wird das DataGrid-Steuerelement sowohl aus Gründen der Abwärtskompatibilität als auch, falls gewünscht, für die zukünftige Verwendung beibehalten. Weitere Informationen finden Sie unter Unterschiede zwischen dem DataGridView-Steuerelement und dem DataGrid-Steuerelement in Windows Forms. |
Durch die Anwendung verschiedener Farben auf die unterschiedlichen Teile eines DataGrid-Steuerelements können Sie die Lesbarkeit und die Interpretierbarkeit der darin enthaltenen Informationen verbessern. Farben können sowohl auf Zeilen als auch auf Spalten angewendet werden. Je nach Bedarf können Zeilen und Spalten auch ausgeblendet oder angezeigt werden.
Die Formatierung des DataGrid-Steuerelements umfasst drei grundlegende Aspekte. Mithilfe von Eigenschaften können Sie ein Standardformat für die Datenanzeige einrichten. Auf dieser Basis können Sie anschließend anpassen, wie bestimmte Tabellen zur Laufzeit angezeigt werden. Schließlich können Sie auch festlegen, welche Spalten im Datenblatt angezeigt und welche Farben und Formatierungen dabei verwendet werden.
Sie können mit der Formatierung des Datenblatts beginnen, indem Sie die Eigenschaften von DataGrid selbst festlegen. Auf der Grundlage dieser Festlegungen für Farben und Formate können Sie dann je nach den angezeigten Datentabellen und -spalten weitere Anpassungen vornehmen.
So richten Sie ein Standardformat für das DataGrid-Steuerelement ein
Legen Sie die folgenden Eigenschaften fest:
Eigenschaft
Beschreibung
Die BackColor-Eigenschaft legt die Farbe der Zeilen mit geraden Zeilennummern fest. Wenn Sie für die AlternatingBackColor-Eigenschaft eine andere Farbe festlegen, werden alle anderen Zeilen in dieser neuen Farbe angezeigt (Zeilen 1, 3, 5 usw.).
Die Hintergrundfarbe der Rasterzeilen mit geraden Zeilennummern (Zeilen 0, 2, 4, 6 usw.).
Während die BackColor-Eigenschaft und die AlternatingBackColor-Eigenschaft die Farbe der Datenblattzeilen festlegen, bestimmt die BackgroundColor-Eigenschaft die Farbe des restlichen Bereichs ohne Zeilen, der nur sichtbar ist, wenn Sie an das untere Ende des Datenblatts wechseln oder wenn das Datenblatt nur wenige Zeilen enthält.
Das Rahmenformat des Rasters (einer der BorderStyle-Enumerationswerte).
Die Hintergrundfarbe der Fensterbeschriftung des Datenblatts, die unmittelbar über dem Datenblatt angezeigt wird.
Die Schriftart, die für die Fensterbeschriftung über dem Raster verwendet wird.
Die Hintergrundfarbe der Fensterbeschriftung des Rasters.
Die zur Anzeige des im Raster enthaltenen Textes verwendete Schriftart.
Die Farbe der Schrift, in der die Daten in den Zeilen des Datenblatts angezeigt werden.
Die Farbe der Rasterzeilen im Datenblatt.
Die Art der Linien zwischen den Zellen des Rasters, d. h. einer der DataGridLineStyle-Enumerationswerte.
Die Hintergrundfarbe von Zeilen- und Spaltenüberschriften.
Die für Spaltenüberschriften verwendete Schriftart.
Die Vordergrundfarbe der Spaltenüberschriften des Rasters, einschließlich des Spaltenüberschriftentextes und der Plus/Minus-Symbole (zum Erweitern von Zeilen, wenn mehrere zugeordnete Tabellen angezeigt werden).
Die Textfarbe aller Links innerhalb des Datenblatts, einschließlich der Links zu untergeordneten Tabellen, dem Relationsnamen usw.
Die Hintergrundfarbe der übergeordneten Zeilen in einer untergeordneten Tabelle.
Die Vordergrundfarbe der übergeordneten Zeilen in einer untergeordneten Tabelle.
Legt fest, ob die Tabellen- und Spaltennamen in der übergeordneten Zeile angezeigt werden. Dazu wird die DataGridParentRowsLabelStyle-Enumeration verwendet.
Die Standardbreite der Spalten des Rasters in Pixel. Legen Sie diese Einstellung fest, bevor Sie die DataSource-Eigenschaft und die DataMember-Eigenschaft zurücksetzen (entweder einzeln oder mit der SetDataBinding-Methode). Andernfalls kann die Eigenschaft nicht angewendet werden.
Für diese Eigenschaft kann kein geringerer Wert als 0 festgelegt werden.
Die Höhe der Zeilen des Rasters in Pixel. Legen Sie diese Einstellung fest, bevor Sie die DataSource-Eigenschaft und die DataMember-Eigenschaft zurücksetzen (entweder einzeln oder mit der SetDataBinding-Methode). Andernfalls kann die Eigenschaft nicht angewendet werden.
Für diese Eigenschaft kann kein geringerer Wert als 0 festgelegt werden.
Die Breite der Zeilenüberschriften des Rasters.
Diese Hintergrundfarbe wird beim Auswählen von Zeilen oder Zellen verwendet.
Diese Vordergrundfarbe wird beim Auswählen von Zeilen oder Zellen verwendet.
Hinweis: Bedenken Sie beim Anpassen der Farben für die Steuerelemente, dass diese dadurch möglicherweise nicht mehr aufgerufen werden können, weil nur eine geringe Anzahl von Farben zur Auswahl steht (beispielsweise Rot und Grün). Sie können dieses Problem vermeiden, indem Sie die Farben aus der Palette Systemfarben verwenden.
Für die nachstehenden Prozeduren wird vorausgesetzt, dass das Formular über ein an eine Datentabelle gebundenes DataGrid-Steuerelement verfügt. Weitere Informationen dazu finden Sie unter Binden des DataGrid-Steuerelements in Windows Forms an eine Datenquelle.
So legen Sie das Tabellenformat und das Spaltenformat von Datentabellen programmgesteuert fest
Erstellen Sie ein neues Tabellenformat, und legen Sie dessen Eigenschaften fest.
Erstellen Sie ein neues Spaltenformat, und legen Sie dessen Eigenschaften fest.
Fügen Sie das Spaltenformat zur Spaltenformatlauflistung für das Tabellenformat hinzu.
Fügen Sie das Tabellenformat zur Tabellenformatauflistung für das Datenblatt hinzu.
Im nachstehenden Beispiel erstellen Sie eine Instanz eines neuen DataGridTableStyle und legen dessen MappingName-Eigenschaft fest.
Erstellen Sie eine neue Instanz eines GridColumnStyle, und legen Sie dessen MappingName fest (sowie weitere Layout- und Anzeigeeigenschaften).
Wiederholen Sie die Schritte 2 bis 6 für jedes Spaltenformat, das erstellt werden soll.
Im folgenden Beispiel wird veranschaulicht, wie eine DataGridTextBoxColumn erstellt wird, weil in der Spalte ein Name angezeigt werden soll. Zusätzlich fügen Sie das Spaltenformat zur GridColumnStylesCollection des Tabellenformats hinzu, das Sie wiederum zur GridTableStylesCollection des Datenblatts hinzufügen.
Private Sub CreateAuthorFirstNameColumn() ' Add a GridTableStyle and set the MappingName ' to the name of the DataTable. Dim TSAuthors As New DataGridTableStyle() TSAuthors.MappingName = "Authors" ' Add a GridColumnStyle and set the MappingName ' to the name of a DataColumn in the DataTable. ' Set the HeaderText and Width properties. Dim TCFirstName As New DataGridTextBoxColumn() TCFirstName.MappingName = "AV_FName" TCFirstName.HeaderText = "First Name" TCFirstName.Width = 75 TSAuthors.GridColumnStyles.Add(TCFirstName) ' Add the DataGridTableStyle instance to ' the GridTableStylesCollection. myDataGrid.TableStyles.Add(TSAuthors) End Sub
private void addCustomDataTableStyle() { // Add a GridTableStyle and set the MappingName // to the name of the DataTable. DataGridTableStyle TSAuthors = new DataGridTableStyle(); TSAuthors.MappingName = "Authors"; // Add a GridColumnStyle and set the MappingName // to the name of a DataColumn in the DataTable. // Set the HeaderText and Width properties. DataGridColumnStyle TCFirstName = new DataGridTextBoxColumn(); TCFirstName.MappingName = " AV_FName"; TCFirstName.HeaderText = "First Name"; TCFirstName.Width = 75; TSAuthors.GridColumnStyles.Add(TCFirstName); // Add the DataGridTableStyle instance to // the GridTableStylesCollection. dataGrid1.TableStyles.Add(TSAuthors); }
private: void addCustomDataTableStyle() { // Add a GridTableStyle and set the MappingName // to the name of the DataTable. DataGridTableStyle^ TSAuthors = new DataGridTableStyle(); TSAuthors->MappingName = "Authors"; // Add a GridColumnStyle and set the MappingName // to the name of a DataColumn in the DataTable. // Set the HeaderText and Width properties. DataGridColumnStyle^ TCFirstName = gcnew DataGridTextBoxColumn(); TCFirstName->MappingName = "AV_FName"; TCFirstName->HeaderText = "First Name"; TCFirstName->Width = 75; TSAuthors->GridColumnStyles->Add(TCFirstName); // Add the DataGridTableStyle instance to // the GridTableStylesCollection. dataGrid1->TableStyles->Add(TSAuthors); }
Siehe auch
Aufgaben
Gewusst wie: Löschen oder Ausblenden von Spalten aus dem DataGrid-Steuerelement in Windows Forms