Gewusst wie: Festlegen von Standardzellenformaten für das DataGridView-Steuerelement in Windows Forms

Aktualisiert: November 2007

Mit dem DataGridView-Steuerelement können Sie Standardzellenstile für das gesamte Steuerelement und für bestimmte Spalten und Zeilen festlegen. Mit diesen Standardzellenstilen kann von der Steuerelementebene bis zur Spaltenebene und anschließend von der Zeilenebene bis zur Zellenebene gefiltert werden. Wenn eine bestimmte DataGridViewCellStyle-Eigenschaft nicht auf Zellenebene festgelegt ist, wird die standardmäßige Eigenschafteneinstellung auf Zeilenebene verwendet. Wenn die Eigenschaft auch nicht auf Zeilenebene festgelegt ist, wird die standardmäßige Spalteneinstellung verwendet. Wenn die Eigenschaft schließlich auch nicht auf Zeilenebene festgelegt ist, wird die standardmäßige DataGridView-Einstellung verwendet. Mit dieser Einstellung können Sie es vermeiden, die Eigenschafteneinstellungen auf mehreren Ebenen duplizieren zu müssen. Geben Sie einfach auf jeder Ebene die Stile an, die sich von den höheren Ebenen unterscheiden. Weitere Informationen finden Sie unter Zellstile im DataGridView-Steuerelement in Windows Forms.

Visual Studio bietet umfassende Unterstützung für diese Aufgabe.

So legen Sie die Standardzellenstile programmgesteuert fest

  1. Legen Sie die Eigenschaften des DataGridViewCellStyle fest, der von der DataGridView.DefaultCellStyle-Eigenschaft abgerufen wird.

    Me.dataGridView1.DefaultCellStyle.BackColor = Color.Beige
    Me.dataGridView1.DefaultCellStyle.Font = New Font("Tahoma", 12)
    
    this.dataGridView1.DefaultCellStyle.BackColor = Color.Beige;
    this.dataGridView1.DefaultCellStyle.Font = new Font("Tahoma", 12);
    
  2. Erstellen und initialisieren Sie neue DataGridViewCellStyle-Objekte zur Verwendung von mehreren Zeilen und Spalten.

    Dim highlightCellStyle As New DataGridViewCellStyle
    highlightCellStyle.BackColor = Color.Red
    
    Dim currencyCellStyle As New DataGridViewCellStyle
    currencyCellStyle.Format = "C"
    currencyCellStyle.ForeColor = Color.Green
    
    DataGridViewCellStyle highlightCellStyle = new DataGridViewCellStyle();
    highlightCellStyle.BackColor = Color.Red;
    
    DataGridViewCellStyle currencyCellStyle = new DataGridViewCellStyle();
    currencyCellStyle.Format = "C";
    currencyCellStyle.ForeColor = Color.Green;
    
  3. Legen Sie die DefaultCellStyle-Eigenschaft bestimmter Zeilen und Spalten fest.

    With Me.dataGridView1
        .Rows(3).DefaultCellStyle = highlightCellStyle
        .Rows(8).DefaultCellStyle = highlightCellStyle
        .Columns("UnitPrice").DefaultCellStyle = currencyCellStyle
        .Columns("TotalPrice").DefaultCellStyle = currencyCellStyle
    End With
    
    this.dataGridView1.Rows[3].DefaultCellStyle = highlightCellStyle;
    this.dataGridView1.Rows[8].DefaultCellStyle = highlightCellStyle;
    this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle =
        currencyCellStyle;
    this.dataGridView1.Columns["TotalPrice"].DefaultCellStyle =
        currencyCellStyle;
    

Beispiel

Private Sub SetDefaultCellStyles()

    Dim highlightCellStyle As New DataGridViewCellStyle
    highlightCellStyle.BackColor = Color.Red

    Dim currencyCellStyle As New DataGridViewCellStyle
    currencyCellStyle.Format = "C"
    currencyCellStyle.ForeColor = Color.Green

    With Me.dataGridView1
        .DefaultCellStyle.BackColor = Color.Beige
        .DefaultCellStyle.Font = New Font("Tahoma", 12)
        .Rows(3).DefaultCellStyle = highlightCellStyle
        .Rows(8).DefaultCellStyle = highlightCellStyle
        .Columns("UnitPrice").DefaultCellStyle = currencyCellStyle
        .Columns("TotalPrice").DefaultCellStyle = currencyCellStyle
    End With

End Sub
private void SetDefaultCellStyles()
{
    this.dataGridView1.DefaultCellStyle.BackColor = Color.Beige;
    this.dataGridView1.DefaultCellStyle.Font = new Font("Tahoma", 12);

    DataGridViewCellStyle highlightCellStyle = new DataGridViewCellStyle();
    highlightCellStyle.BackColor = Color.Red;

    DataGridViewCellStyle currencyCellStyle = new DataGridViewCellStyle();
    currencyCellStyle.Format = "C";
    currencyCellStyle.ForeColor = Color.Green;

    this.dataGridView1.Rows[3].DefaultCellStyle = highlightCellStyle;
    this.dataGridView1.Rows[8].DefaultCellStyle = highlightCellStyle;
    this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle =
        currencyCellStyle;
    this.dataGridView1.Columns["TotalPrice"].DefaultCellStyle =
        currencyCellStyle;
}

Kompilieren des Codes

Dieses Beispiel setzt Folgendes voraus:

Robuste Programmierung

Um bei der Arbeit mit sehr großen Datasets maximale Skalierbarkeit zu erreichen, sollten Sie DataGridViewCellStyle-Objekte für mehrere Zeilen, Spalten oder Zellen, die dieselben Stile verwenden, freigeben, anstatt die Stileigenschaften für einzelne Elemente separat festzulegen. Außerdem sollten Sie freigegebene Zeilen erstellen und mithilfe der DataGridViewRowCollection.SharedRow-Eigenschaft auf sie zugreifen. Weitere Informationen finden Sie unter Empfohlene Vorgehensweisen für das Skalieren des DataGridView-Steuerelements in Windows Forms.

Siehe auch

Aufgaben

Gewusst wie: Festlegen von abwechselnden Zeilenstilen für das DataGridView-Steuerelement in Windows Forms

Konzepte

Zellstile im DataGridView-Steuerelement in Windows Forms

Empfohlene Vorgehensweisen für das Skalieren des DataGridView-Steuerelements in Windows Forms

Referenz

DataGridView

DataGridViewCellStyle

DataGridView.DefaultCellStyle

DataGridViewBand.DefaultCellStyle

Weitere Ressourcen

Grundlegende Formatierungen und Formate im DataGridView-Steuerelement in Windows Forms