Colorear celdas de una tabla en VB.NET

Cómo colorear celdas de una tabla (datagridview) 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.