DataGridViewCellStyle Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa el formato y la información de estilo aplicados a celdas concretas de un control 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
- Herencia
-
DataGridViewCellStyle
- Atributos
- Implementaciones
Ejemplos
En el ejemplo de código siguiente se muestra el efecto de establecer propiedades en varios DataGridViewCellStyle objetos. En este ejemplo se establece el color de fondo de las celdas de DataGridView estableciendo la BackColor propiedad en la DefaultCellStyle propiedad . El color de fondo se invalida en filas alternas porque la BackColor propiedad se establece en la AlternatingRowsDefaultCellStyle propiedad . En el ejemplo también se determina el formato de las fechas de la columna denominada Last Prepared
estableciendo la Format propiedad en la propiedad de DefaultCellStyle la columna.
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
Comentarios
La DataGridViewCellStyle clase le permite compartir información de estilo entre varias DataGridView celdas, filas, columnas y encabezados de fila o columna, evitando los requisitos de memoria de establecer propiedades de estilo en celdas individuales. Para obtener más información sobre las clases que tienen una propiedad de tipo DataGridViewCellStyle y cómo se relacionan entre sí, vea Estilos de celda en el control DataGridView de Windows Forms.
Constructores
DataGridViewCellStyle() |
Inicializa una nueva instancia de la clase DataGridViewCellStyle utilizando los valores de propiedad predeterminados. |
DataGridViewCellStyle(DataGridViewCellStyle) |
Inicializa una nueva instancia de la clase DataGridViewCellStyle utilizando los valores de propiedades del control DataGridViewCellStyle especificado. |
Propiedades
Alignment |
Obtiene o establece un valor que indica la posición del contenido de la celda en una celda de DataGridView. |
BackColor |
Obtiene o establece el color de fondo de una celda de DataGridView. |
DataSourceNullValue |
Obtiene o establece el valor guardado en el origen de datos cuando el usuario escribe un valor nulo en una celda. |
Font |
Obtiene o establece la fuente aplicada al contenido textual de una celda de DataGridView. |
ForeColor |
Obtiene o establece el color de primer plano de una celda de DataGridView. |
Format |
Obtiene o establece la cadena de formato aplicada al contenido textual de una celda de DataGridView. |
FormatProvider |
Obtiene o establece el objeto utilizado para dar formato específico de la referencia cultural de los valores de celda de DataGridView. |
IsDataSourceNullValueDefault |
Obtiene un valor que indica si se ha establecido la propiedad DataSourceNullValue. |
IsFormatProviderDefault |
Obtiene un valor que indica si se ha establecido la propiedad FormatProvider. |
IsNullValueDefault |
Obtiene un valor que indica si se ha establecido la propiedad NullValue. |
NullValue |
Obtiene o establece el valor de presentación de la celda DataGridView que corresponde a un valor de celda de Value o |
Padding |
Obtiene o establece el espacio entre los bordes de un control DataGridViewCell y su contenido. |
SelectionBackColor |
Obtiene o establece el color de fondo utilizado por una celda de DataGridView cuando está seleccionada. |
SelectionForeColor |
Obtiene o establece el color de primer plano utilizado por una celda de DataGridView cuando está seleccionada. |
Tag |
Obtiene o establece un objeto que contiene datos adicionales relacionados con DataGridViewCellStyle. |
WrapMode |
Obtiene o establece un valor que indica si se ajusta a las líneas subsiguientes o se trunca el contenido textual de una celda de DataGridView cuando es demasiado largo para caber en una sola línea. |
Métodos
ApplyStyle(DataGridViewCellStyle) |
Aplica el valor de DataGridViewCellStyle especificado al objeto DataGridViewCellStyle actual. |
Clone() |
Crea una copia exacta de este objeto DataGridViewCellStyle. |
Equals(Object) |
Devuelve un valor que indica si esta instancia equivale al objeto especificado. |
GetHashCode() |
Sirve como función de hash para un tipo concreto. |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que indica los valores de propiedad actuales del objeto DataGridViewCellStyle. |
Implementaciones de interfaz explícitas
ICloneable.Clone() |
Crea una copia exacta de este objeto DataGridViewCellStyle. |
Se aplica a
Consulte también
- DataGridView
- DefaultCellStyle
- RowsDefaultCellStyle
- AlternatingRowsDefaultCellStyle
- ColumnHeadersDefaultCellStyle
- RowHeadersDefaultCellStyle
- CellFormatting
- CellStyleContentChanged
- InheritedStyle
- DefaultCellStyle
- DefaultCellStyle
- DefaultCellStyle
- InheritedStyle
- Style
- DataGridViewCellFormattingEventArgs
- Estilos de celda en el control DataGridView de formularios Windows Forms
- Información general del control DataGridView (Formularios Windows Forms)