Colorear celdas de una tabla en VB.NET

Cómo colorear celdas de una tabla (datagridview) en VB.NET

colorear-celdas-de-una-tabla-en-vb-net

En este sencillo tutorial veremos el código necesario para colorear celdas, filas o columnas de una datagridview según sus valores cambiando el color de fondo.

Suponemos que ya tenemos una datagrid con datos obtenidos, por ejemplo, desde una base de datos.

Private Sub DataGridView_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView.CellFormatting
Try
If Me.DataGridView.Columns(e.ColumnIndex).Name = "DataGridViewTextBoxColumn7" Then
If e.Value IsNot Nothing Then
Dim valor As Integer = CType(e.Value, Integer)
If (valor >= 100) Then
e.CellStyle.BackColor = Color.Yellow
End If
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Si deseamos colorear alguna casilla o celda según su valor, debemos llamar al método CellFormatting del objeto DatagridView. Este método se llama cada vez que se pinta la celda por pantalla.

A continuación, comprobaremos que el nombre de la celda coincide con el nombre de la columna, y si es el caso, procederemos a obtener el valor que hay en ese campo. Es importante convertir el tipo de dato que contiene la celda al tipo que nosotros deseemos con el método CType(“valor”, tipo), ya que sinó saltará una excepción.

En nuestro ejemplo, se comprobará si la celda contiene un entero mayor o igual a 100. Si es el caso, pintaremos la casilla de color amarillo.