Formatear Y Resaltar Valores En El Control Datagridview

Páginas: 5 (1098 palabras) Publicado: 18 de enero de 2013
Formatear y resaltar valores en el control DataGridView con el evento CellFormatting (II)
Siguiendo con los aspectos relacionados con el formateo de valores utilizando este evento, en la presente entrega abordaremos la posibilidad de aplicar formatos basados en una condición y sobre una columna a partir de los valores existentes en otras.
 
Formato condicional
Las operaciones tratadashasta el momento podríamos haberlas realizado prescindiendo del evento CellFormatting, ya que al aplicar el formato a la totalidad de la columna, habría bastado con seleccionar de la colección DataGridView.Columns aquella columna a formatear, y mediante la propiedad DefaultCellStyle -que contiene un tipo DataGridViewCellStyle-asignar a la propiedad Format la cadena de formato adecuada. Esto podemoshacerlo, por ejemplo, en el evento Load.
private void frmFormatoCondicional_Load(object sender, EventArgs e)
{
this.dataGridView1.DataSource = ConstruirDatos.ObtenerTabla();
this.dataGridView1.Columns["BirthDate"].DefaultCellStyle.Format = "MMMM (yyyy)";
}

Es por ello que un uso más conveniente delevento CellFormatting consistiría en utilizarlo para formatear las celdas de una columna que cumplan una determinada condición, como podemos ver en el siguiente bloque de código, donde tras verificar que para la columna de tipo fecha, la celda a formatear contiene valor, si este corresponde al mes de febrero, se le aplica una cadena de formato para resaltar dicha celda.
privatevoid dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (this.dataGridView1.Columns[e.ColumnIndex].Name == "BirthDate")
{
try
{
// comprobar si la celda tiene contenido válido
if(e.Value.GetType() != typeof(System.DBNull))
{
// si la celda tiene valor y el mes es febrero
// formatear el contenido
if (((DateTime)e.Value).Month == 2)
{
e.CellStyle.Format = "D";e.CellStyle.BackColor = Color.Aqua;
}
}
}
catch (NullReferenceException oException)
{
}
}
}
 
A continuación apreciamos el resultado en la siguiente imagen.

 
Formato condicionalaplicado a la totalidad de la columna
En ciertas ocasiones puede resultar interesante aplicar una operación de formato de modo global a todos los valores de una misma columna, consistente por ejemplo en modificar el texto original por otro más extenso, como podemos ver en el siguiente código, donde sustituimos los valores que inicialmente provienen de la columna Title de la tabla de datos.private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
// cambiar el valor del campo Title
if ((this.dataGridView1.Columns[e.ColumnIndex].Name == "Title") && (e.Value != null))
{
string TituloCortesia = string.Empty;switch (e.Value.ToString())
{
case "Sr.":
case "Mr.":
TituloCortesia = "Señor";
break;

case "Mrs.":
TituloCortesia = "Señora";...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • el valor formativo
  • Informacion del control datagridview en vb 2010
  • Formato Control De Lectura
  • Formato Control de lectura
  • el valor formativo y transformativo de la musica
  • Valor Formativa De La Musica
  • Formatos control de plagas
  • formatos de inventarios y control en cocina

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS