Comment : définir les styles de cellules par défaut pour le contrôle DataGridView Windows Forms

Mise à jour : novembre 2007

Avec le contrôle DataGridView, vous pouvez spécifier des styles de cellule par défaut pour le contrôle entier et pour des colonnes et des lignes spécifiques. Ces valeurs par défaut filtrent vers le bas du niveau du contrôle jusqu'au niveau de colonne, puis au niveau de ligne, puis enfin au niveau de cellule. Si une propriété DataGridViewCellStyle particulière n'est pas définie au niveau de la cellule, le paramètre de propriété par défaut au niveau de ligne est utilisé. Si la propriété n'est pas également définie au niveau de ligne, le paramètre de colonne par défaut est utilisé. Enfin, si la propriété n'est pas également définie au niveau de colonne, le paramètre DataGridView par défaut est utilisé. Avec ce paramètre, vous pouvez éviter de devoir dupliquer les paramètres de propriété à plusieurs niveaux. À chaque niveau, spécifiez simplement les styles qui diffèrent des niveaux au-dessus de lui. Pour plus d'informations, consultez Styles de cellules dans le contrôle DataGridView Windows Forms.

Il existe une prise en charge étendue pour cette tâche dans Visual Studio.

Pour définir les styles de cellule par défaut par programme

  1. Définissez les propriétés du DataGridViewCellStyle récupérées par le biais de la propriété DataGridView.DefaultCellStyle.

    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. Créez et initialisez de nouveaux objets DataGridViewCellStyle pour une utilisation par plusieurs lignes et colonnes.

    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. Définissez la propriété DefaultCellStyle de lignes et colonnes spécifiques.

    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;
    

Exemple

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;
}

Compilation du code

Cet exemple nécessite les éléments suivants :

Programmation fiable

Pour assurer l'évolutivité maximale lorsque vous utilisez des groupes de données très grands, vous devez partager les objets DataGridViewCellStyle sur plusieurs lignes, colonnes ou cellules qui utilisent les mêmes styles, plutôt que de définir séparément les propriétés de style d'éléments individuels. En outre, vous devez créer des lignes partagées et y accéder en utilisant la propriété DataGridViewRowCollection.SharedRow. Pour plus d'informations, consultez Méthodes conseillées pour la mise à l'échelle du contrôle DataGridView Windows Forms.

Voir aussi

Tâches

Comment : définir des styles de lignes en alternance pour le contrôle DataGridView Windows Forms

Concepts

Styles de cellules dans le contrôle DataGridView Windows Forms

Méthodes conseillées pour la mise à l'échelle du contrôle DataGridView Windows Forms

Référence

DataGridView

DataGridViewCellStyle

DataGridView.DefaultCellStyle

DataGridViewBand.DefaultCellStyle

Autres ressources

Mises en forme et styles de base dans le contrôle DataGridView Windows Forms