DataGridViewCellStyle Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente les informations de mise en forme et de style appliquées aux cellules dans un contrôle DataGridView.
public ref class DataGridViewCellStyle : ICloneable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.DataGridViewCellStyleConverter))]
public class DataGridViewCellStyle : ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.DataGridViewCellStyleConverter))>]
type DataGridViewCellStyle = class
interface ICloneable
Public Class DataGridViewCellStyle
Implements ICloneable
- Héritage
-
DataGridViewCellStyle
- Attributs
- Implémente
Exemples
L’exemple de code suivant illustre l’effet de la définition de propriétés sur plusieurs DataGridViewCellStyle objets. Cet exemple montre comment définir la couleur d’arrière-plan des cellules du DataGridView en définissant la BackColor propriété sur la DefaultCellStyle propriété . La couleur d’arrière-plan est remplacée sur les lignes alternées, car la BackColor propriété est définie sur la AlternatingRowsDefaultCellStyle propriété . L’exemple détermine également le format des dates dans la colonne nommée Last Prepared
en définissant la Format propriété sur la propriété de DefaultCellStyle la colonne.
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
public class Form1 : System.Windows.Forms.Form
{
[STAThreadAttribute()]
public static void Main()
{
Application.Run(new Form1());
}
private DataGridView dataGridView1 = new DataGridView();
protected override void OnLoad(EventArgs e)
{
// Create the columns and load the data.
PopulateDataGridView();
// Configure the appearance and behavior of the DataGridView.
InitializeDataGridView();
// Initialize the form.
this.Text = "DataGridView style demo";
this.Size = new Size(600, 250);
this.Controls.Add(dataGridView1);
base.OnLoad(e);
}
// Configures the appearance and behavior of a DataGridView control.
private void InitializeDataGridView()
{
// Initialize basic DataGridView properties.
dataGridView1.Dock = DockStyle.Fill;
dataGridView1.BackgroundColor = Color.LightGray;
dataGridView1.BorderStyle = BorderStyle.Fixed3D;
// Set property values appropriate for read-only display and
// limited interactivity.
dataGridView1.AllowUserToAddRows = false;
dataGridView1.AllowUserToDeleteRows = false;
dataGridView1.AllowUserToOrderColumns = true;
dataGridView1.ReadOnly = true;
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView1.MultiSelect = false;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
dataGridView1.AllowUserToResizeColumns = false;
dataGridView1.ColumnHeadersHeightSizeMode =
DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
dataGridView1.AllowUserToResizeRows = false;
dataGridView1.RowHeadersWidthSizeMode =
DataGridViewRowHeadersWidthSizeMode.DisableResizing;
// Set the selection background color for all the cells.
dataGridView1.DefaultCellStyle.SelectionBackColor = Color.White;
dataGridView1.DefaultCellStyle.SelectionForeColor = Color.Black;
// Set RowHeadersDefaultCellStyle.SelectionBackColor so that its default
// value won't override DataGridView.DefaultCellStyle.SelectionBackColor.
dataGridView1.RowHeadersDefaultCellStyle.SelectionBackColor = Color.Empty;
// Set the background color for all rows and for alternating rows.
// The value for alternating rows overrides the value for all rows.
dataGridView1.RowsDefaultCellStyle.BackColor = Color.LightGray;
dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.DarkGray;
// Set the row and column header styles.
dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.White;
dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Black;
dataGridView1.RowHeadersDefaultCellStyle.BackColor = Color.Black;
// Set the Format property on the "Last Prepared" column to cause
// the DateTime to be formatted as "Month, Year".
dataGridView1.Columns["Last Prepared"].DefaultCellStyle.Format = "y";
// Specify a larger font for the "Ratings" column.
using (Font font = new Font(
dataGridView1.DefaultCellStyle.Font.FontFamily, 25, FontStyle.Bold))
{
dataGridView1.Columns["Rating"].DefaultCellStyle.Font = font;
}
// Attach a handler to the CellFormatting event.
dataGridView1.CellFormatting += new
DataGridViewCellFormattingEventHandler(dataGridView1_CellFormatting);
}
// Changes the foreground color of cells in the "Ratings" column
// depending on the number of stars.
private void dataGridView1_CellFormatting(object sender,
DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == dataGridView1.Columns["Rating"].Index
&& e.Value != null)
{
switch (e.Value.ToString().Length)
{
case 1:
e.CellStyle.SelectionForeColor = Color.Red;
e.CellStyle.ForeColor = Color.Red;
break;
case 2:
e.CellStyle.SelectionForeColor = Color.Yellow;
e.CellStyle.ForeColor = Color.Yellow;
break;
case 3:
e.CellStyle.SelectionForeColor = Color.Green;
e.CellStyle.ForeColor = Color.Green;
break;
case 4:
e.CellStyle.SelectionForeColor = Color.Blue;
e.CellStyle.ForeColor = Color.Blue;
break;
}
}
}
// Creates the columns and loads the data.
private void PopulateDataGridView()
{
// Set the column header names.
dataGridView1.ColumnCount = 5;
dataGridView1.Columns[0].Name = "Recipe";
dataGridView1.Columns[1].Name = "Category";
dataGridView1.Columns[2].Name = "Main Ingredients";
dataGridView1.Columns[3].Name = "Last Prepared";
dataGridView1.Columns[4].Name = "Rating";
// Populate the rows.
object[] row1 = new object[]{"Meatloaf", "Main Dish",
"ground beef", new DateTime(2000, 3, 23), "*"};
object[] row2 = new object[]{"Key Lime Pie", "Dessert",
"lime juice, evaporated milk", new DateTime(2002, 4, 12), "****"};
object[] row3 = new object[]{"Orange-Salsa Pork Chops", "Main Dish",
"pork chops, salsa, orange juice", new DateTime(2000, 8, 9), "****"};
object[] row4 = new object[]{"Black Bean and Rice Salad", "Salad",
"black beans, brown rice", new DateTime(1999, 5, 7), "****"};
object[] row5 = new object[]{"Chocolate Cheesecake", "Dessert",
"cream cheese", new DateTime(2003, 3, 12), "***"};
object[] row6 = new object[]{"Black Bean Dip", "Appetizer",
"black beans, sour cream", new DateTime(2003, 12, 23), "***"};
// Add the rows to the DataGridView.
object[] rows = new object[] { row1, row2, row3, row4, row5, row6 };
foreach (object[] rowArray in rows)
{
dataGridView1.Rows.Add(rowArray);
}
// Adjust the row heights so that all content is visible.
dataGridView1.AutoResizeRows(
DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders);
}
}
Imports System.Drawing
Imports System.Collections
Imports System.ComponentModel
Imports System.Windows.Forms
Public Class Form1
Inherits System.Windows.Forms.Form
<STAThreadAttribute()> _
Public Shared Sub Main()
Application.Run(New Form1())
End Sub
Private WithEvents dataGridView1 As New DataGridView()
Protected Overrides Sub OnLoad(ByVal e As EventArgs)
' Create the columns and load the data.
PopulateDataGridView()
' Configure the appearance and behavior of the DataGridView.
InitializeDataGridView()
' Initialize the form.
Me.Text = "DataGridView style demo"
Me.Size = New Size(600, 250)
Me.Controls.Add(dataGridView1)
MyBase.OnLoad(e)
End Sub
' Configures the appearance and behavior of a DataGridView control.
Private Sub InitializeDataGridView()
' Initialize basic DataGridView properties.
dataGridView1.Dock = DockStyle.Fill
dataGridView1.BackgroundColor = Color.LightGray
dataGridView1.BorderStyle = BorderStyle.Fixed3D
' Set property values appropriate for read-only display and
' limited interactivity.
dataGridView1.AllowUserToAddRows = False
dataGridView1.AllowUserToDeleteRows = False
dataGridView1.AllowUserToOrderColumns = True
dataGridView1.ReadOnly = True
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
dataGridView1.MultiSelect = False
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None
dataGridView1.AllowUserToResizeColumns = False
dataGridView1.ColumnHeadersHeightSizeMode = _
DataGridViewColumnHeadersHeightSizeMode.DisableResizing
dataGridView1.AllowUserToResizeRows = False
dataGridView1.RowHeadersWidthSizeMode = _
DataGridViewRowHeadersWidthSizeMode.DisableResizing
' Set the selection background color for all the cells.
dataGridView1.DefaultCellStyle.SelectionBackColor = Color.White
dataGridView1.DefaultCellStyle.SelectionForeColor = Color.Black
' Set RowHeadersDefaultCellStyle.SelectionBackColor so that its default
' value won't override DataGridView.DefaultCellStyle.SelectionBackColor.
dataGridView1.RowHeadersDefaultCellStyle.SelectionBackColor = Color.Empty
' Set the background color for all rows and for alternating rows.
' The value for alternating rows overrides the value for all rows.
dataGridView1.RowsDefaultCellStyle.BackColor = Color.LightGray
dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.DarkGray
' Set the row and column header styles.
dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Black
dataGridView1.RowHeadersDefaultCellStyle.BackColor = Color.Black
' Set the Format property on the "Last Prepared" column to cause
' the DateTime to be formatted as "Month, Year".
dataGridView1.Columns("Last Prepared").DefaultCellStyle.Format = "y"
' Specify a larger font for the "Ratings" column.
Dim font As New Font( _
dataGridView1.DefaultCellStyle.Font.FontFamily, 25, FontStyle.Bold)
Try
dataGridView1.Columns("Rating").DefaultCellStyle.Font = font
Finally
font.Dispose()
End Try
End Sub
' Changes the foreground color of cells in the "Ratings" column
' depending on the number of stars.
Private Sub dataGridView1_CellFormatting(ByVal sender As Object, _
ByVal e As DataGridViewCellFormattingEventArgs) _
Handles dataGridView1.CellFormatting
If e.ColumnIndex = dataGridView1.Columns("Rating").Index _
AndAlso e.Value IsNot Nothing Then
Select Case e.Value.ToString().Length
Case 1
e.CellStyle.SelectionForeColor = Color.Red
e.CellStyle.ForeColor = Color.Red
Case 2
e.CellStyle.SelectionForeColor = Color.Yellow
e.CellStyle.ForeColor = Color.Yellow
Case 3
e.CellStyle.SelectionForeColor = Color.Green
e.CellStyle.ForeColor = Color.Green
Case 4
e.CellStyle.SelectionForeColor = Color.Blue
e.CellStyle.ForeColor = Color.Blue
End Select
End If
End Sub
' Creates the columns and loads the data.
Private Sub PopulateDataGridView()
' Set the column header names.
dataGridView1.ColumnCount = 5
dataGridView1.Columns(0).Name = "Recipe"
dataGridView1.Columns(1).Name = "Category"
dataGridView1.Columns(2).Name = "Main Ingredients"
dataGridView1.Columns(3).Name = "Last Prepared"
dataGridView1.Columns(4).Name = "Rating"
' Populate the rows.
Dim row1() As Object = {"Meatloaf", "Main Dish", _
"ground beef", New DateTime(2000, 3, 23), "*"}
Dim row2() As Object = {"Key Lime Pie", "Dessert", _
"lime juice, evaporated milk", New DateTime(2002, 4, 12), "****"}
Dim row3() As Object = {"Orange-Salsa Pork Chops", "Main Dish", _
"pork chops, salsa, orange juice", New DateTime(2000, 8, 9), "****"}
Dim row4() As Object = {"Black Bean and Rice Salad", "Salad", _
"black beans, brown rice", New DateTime(1999, 5, 7), "****"}
Dim row5() As Object = {"Chocolate Cheesecake", "Dessert", _
"cream cheese", New DateTime(2003, 3, 12), "***"}
Dim row6() As Object = {"Black Bean Dip", "Appetizer", _
"black beans, sour cream", New DateTime(2003, 12, 23), "***"}
' Add the rows to the DataGridView.
Dim rows() As Object = {row1, row2, row3, row4, row5, row6}
Dim rowArray As Object()
For Each rowArray In rows
dataGridView1.Rows.Add(rowArray)
Next rowArray
' Adjust the row heights so that all content is visible.
dataGridView1.AutoResizeRows( _
DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders)
End Sub
End Class
Remarques
La DataGridViewCellStyle classe vous permet de partager des informations de style entre plusieurs DataGridView cellules, lignes, colonnes et en-têtes de ligne ou de colonne, évitant ainsi les exigences de mémoire liées à la définition des propriétés de style sur des cellules individuelles. Pour plus d’informations sur les classes qui ont une propriété de type DataGridViewCellStyle et leur relation entre elles, consultez Styles de cellule dans le contrôle DataGridView Windows Forms.
Constructeurs
DataGridViewCellStyle() |
Initialise une nouvelle instance de la classe DataGridViewCellStyle à l’aide des valeurs de propriété par défaut. |
DataGridViewCellStyle(DataGridViewCellStyle) |
Initialise une nouvelle instance de la classe DataGridViewCellStyle à l'aide des valeurs des propriétés du DataGridViewCellStyle spécifié. |
Propriétés
Alignment |
Obtient ou définit une valeur indiquant la position du contenu dans une cellule de DataGridView. |
BackColor |
Obtient ou définit la couleur d'arrière-plan d'une cellule DataGridView. |
DataSourceNullValue |
Obtient ou définit la valeur enregistrée dans la source de données lorsque l'utilisateur entre une valeur null dans une cellule. |
Font |
Obtient ou définit la police appliquée au contenu textuel d'une cellule DataGridView. |
ForeColor |
Obtient ou définit la couleur de premier plan d'une cellule DataGridView. |
Format |
Obtient ou définit la chaîne de format appliquée au contenu textuel d'une cellule DataGridView. |
FormatProvider |
Obtient ou définit l'objet utilisé pour fournir la mise en forme propre à la culture des valeurs de cellule DataGridView. |
IsDataSourceNullValueDefault |
Obtient une valeur indiquant si la propriété DataSourceNullValue a été définie. |
IsFormatProviderDefault |
Obtient une valeur qui indique si la propriété FormatProvider a été définie. |
IsNullValueDefault |
Obtient une valeur indiquant si la propriété NullValue a été définie. |
NullValue |
Obtient ou définit la valeur d'affichage de la cellule DataGridView correspondant à une valeur de cellule égale à Value ou |
Padding |
Obtient ou définit l'espacement entre le bord d'un DataGridViewCell et son contenu. |
SelectionBackColor |
Obtient ou définit la couleur d'arrière-plan utilisée par une cellule DataGridView lorsqu'elle est sélectionnée. |
SelectionForeColor |
Obtient ou définit la couleur de premier plan utilisée par une cellule DataGridView lorsqu'elle est sélectionnée. |
Tag |
Obtient ou définit un objet qui contient les données supplémentaires relatives à DataGridViewCellStyle. |
WrapMode |
Obtient ou définit une valeur indiquant si le contenu textuel dans une cellule DataGridView est automatiquement renvoyé aux lignes suivantes ou tronqué lorsqu'il est trop long pour tenir sur une seule ligne. |
Méthodes
ApplyStyle(DataGridViewCellStyle) |
Applique le DataGridViewCellStyle spécifié au DataGridViewCellStyle actuel. |
Clone() |
Crée une copie exacte de DataGridViewCellStyle. |
Equals(Object) |
Retourne une valeur indiquant si cette instance équivaut à l'objet spécifié. |
GetHashCode() |
Sert de fonction de hachage pour un type particulier. |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne indiquant les paramètres de propriété actuels de DataGridViewCellStyle. |
Implémentations d’interfaces explicites
ICloneable.Clone() |
Crée une copie exacte de DataGridViewCellStyle. |
S’applique à
Voir aussi
- DataGridView
- DefaultCellStyle
- RowsDefaultCellStyle
- AlternatingRowsDefaultCellStyle
- ColumnHeadersDefaultCellStyle
- RowHeadersDefaultCellStyle
- CellFormatting
- CellStyleContentChanged
- InheritedStyle
- DefaultCellStyle
- DefaultCellStyle
- DefaultCellStyle
- InheritedStyle
- Style
- DataGridViewCellFormattingEventArgs
- Styles de cellules dans le contrôle DataGridView Windows Forms
- Vue d'ensemble du contrôle DataGridView (Windows Forms)