Cómo: Establecer estilos de celda predeterminados para el control DataGridView de formularios Windows Forms
Actualización: noviembre 2007
Con el control DataGridView, puede especificar los estilos de celda predeterminados para todo el control así como para columnas y filas específicas. Estos valores predeterminados realizan el filtro desde el nivel del control al nivel de columna, a continuación a nivel de la fila y, finalmente a nivel de la celda. Si una propiedad DataGridViewCellStyle determinada no se establece en el nivel de la celda, se utiliza la configuración de la propiedad predeterminada en el nivel de la fila. Si la propiedad tampoco se establece en el nivel de la fila, se utiliza la configuración de la columna predeterminada. Finalmente, si la propiedad tampoco se establece en el nivel de la columna, se utiliza la configuración de DataGridView predeterminada. Con esta configuración, puede evitar la duplicación de los valores de propiedades en distintos niveles. En cada nivel, sólo hay que especificar los estilos que difieren de los niveles inmediatamente superiores. Para obtener más información, vea Estilos de celda en el control DataGridView de formularios Windows Forms.
Visual Studio ofrece una amplia compatibilidad para esta tarea.
Para establecer mediante programación los estilos de celdas predeterminados
Establezca las propiedades de DataGridViewCellStyle, recuperadas por medio de la propiedad 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);
Cree e inicialice los nuevos objetos DataGridViewCellStyle para su uso por varias filas y columnas.
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;
Establezca la propiedad DefaultCellStyle de filas y columnas determinadas.
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;
Ejemplo
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;
}
Compilar el código
Para este ejemplo se necesita:
Un control DataGridView denominado dataGridView1.
Referencias a los ensamblados System, System.Drawing y System.Windows.Forms.
Programación eficaz
Para conseguir una máxima escalabilidad al trabajar con conjuntos de datos muy grandes, se deben compartir objetos DataGridViewCellStyle entre las distintas filas, columnas o celdas que utilicen los mismos estilos, en lugar de establecer por separado las propiedades de estilo para elementos individuales. Además, debería crear filas compartidas y tener acceso a ellas mediante la propiedad DataGridViewRowCollection.SharedRow. Para obtener más información, vea Procedimientos recomendados para ajustar la escala del control DataGridView en formularios Windows Forms.
Vea también
Tareas
Cómo: Establecer estilos de fila alternos para el control DataGridView de formularios Windows Forms
Conceptos
Estilos de celda en el control DataGridView de formularios Windows Forms
Referencia
DataGridViewBand.DefaultCellStyle
Otros recursos
Estilo y formato básicos del control DataGridView en formularios Windows Forms