Exportar (0) Imprimir
Expandir todo

DataGridViewCellFormattingEventArgs (Clase)

Proporciona datos para el evento CellFormatting de un DataGridView.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

public class DataGridViewCellFormattingEventArgs : ConvertEventArgs
public class DataGridViewCellFormattingEventArgs extends ConvertEventArgs
public class DataGridViewCellFormattingEventArgs extends ConvertEventArgs
No aplicable.

Controle el evento CellFormatting para personalizar la conversión de un valor de celda en un formato apropiado para la presentación o personalizar el aspecto de una celda dependiendo de su estado o valor.

El evento CellFormatting se produce cada vez que se pinta cada celda, por lo que debería evitar procesamientos largos al controlar este evento. Este evento también se produce cuando se recupera el valor FormattedValue de la celda o se llama a su método GetFormattedValue.

Cuando se controla el evento CellFormatting, la propiedad ConvertEventArgs.Value se inicializa con el valor de la celda. Si proporciona conversión personalizada del valor de celda al valor de presentación, establezca la propiedad ConvertEventArgs.Value en el valor convertido, garantizando así que el nuevo valor es del tipo especificado por la propiedad FormattedValueType de la celda. Para indicar que no es necesario realizar más operaciones de formato en el valor, establezca la propiedad DataGridViewCellFormattingEventArgs.FormattingApplied en true.

Cuando finaliza el controlador de eventos, si ConvertEventArgs.Value es referencia null (Nothing en Visual Basic), o no es del tipo correcto, o la propiedad DataGridViewCellFormattingEventArgs.FormattingApplied es false, se aplica formato a Value utilizando las propiedades Format, NullValue, DataSourceNullValue y FormatProvider del estilo de celda devuelto por la propiedad DataGridViewCellFormattingEventArgs.CellStyle, que se inicializa utilizando la propiedad de celda InheritedStyle.

Independientemente del valor de la propiedad DataGridViewCellFormattingEventArgs.FormattingApplied, para representar la celda se utilizan las propiedades de presentación del objeto devueltas por la propiedad DataGridViewCellFormattingEventArgs.CellStyle.

Para obtener más información sobre el formato personalizado utilizando el evento CellFormatting, vea Cómo: Personalizar el formato de los datos en el control DataGridView de formularios Windows Forms.

Para evitar las reducciones del rendimiento al controlar este evento, obtenga acceso a la celda a través de los parámetros del controlador de eventos en lugar de hacerlo directamente.

Para personalizar la conversión de un valor con formato especificado por el usuario en un valor de celda real, controle el evento CellParsing.

Para obtener más información sobre la forma de controlar eventos, vea Utilizar eventos.

En el ejemplo de código siguiente se muestra cómo controlar el evento CellFormatting.

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    // If the column is the Artist column, check the
    // value.
    if (this.dataGridView1.Columns[e.ColumnIndex].Name == "Artist")
    {
        if (e.Value != null)
        {
            // Check for the string "pink" in the cell.
            string stringValue = (string)e.Value;
            stringValue = stringValue.ToLower();
            if ((stringValue.IndexOf("pink") > -1))
            {
                e.CellStyle.BackColor = Color.Pink;
            }

        }
    }
    else if (this.dataGridView1.Columns[e.ColumnIndex].Name == "Release Date")
    {
        ShortFormDateFormat(e);
    }
}

//Even though the date internaly stores the year as YYYY, using formatting, the
//UI can have the format in YY.  
private static void ShortFormDateFormat(DataGridViewCellFormattingEventArgs formatting)
{
    if (formatting.Value != null)
    {
        try
        {
            System.Text.StringBuilder dateString = new System.Text.StringBuilder();
            DateTime theDate = DateTime.Parse(formatting.Value.ToString());

            dateString.Append(theDate.Month);
            dateString.Append("/");
            dateString.Append(theDate.Day);
            dateString.Append("/");
            dateString.Append(theDate.Year.ToString().Substring(2));
            formatting.Value = dateString.ToString();
            formatting.FormattingApplied = true;
        }
        catch (FormatException)
        {
            // Set to false in case there are other handlers interested trying to
            // format this DataGridViewCellFormattingEventArgs instance.
            formatting.FormattingApplied = false;
        }
    }
}

System.Object
   System.EventArgs
     System.Windows.Forms.ConvertEventArgs
      System.Windows.Forms.DataGridViewCellFormattingEventArgs

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0

Mostrar:
© 2014 Microsoft