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
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);
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;
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 :
Un contrôle DataGridView nommé dataGridView1.
Références aux assemblys System, System.Drawing et System.Windows.Forms.
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
DataGridViewBand.DefaultCellStyle
Autres ressources
Mises en forme et styles de base dans le contrôle DataGridView Windows Forms