Colorear un ListView

Acá les dejo una subrutina que me ha resultado muy útil desde hace varios años. La función pinta las lineas de un listview alternando dos colores, esto facilita mucho la lectura cuando el listview tiene muchas columnas o las columnas son muy anchas.

Public Sub colorearListView(ByRef list As ListView)
Dim i As Integer
For i = 0 To list.Items.Count - 1
If i = Int(i / 2) * 2 Then
list.Items.Item(i).BackColor = Color.White
Else
list.Items.Item(i).BackColor = Color.LightGoldenrodYellow
End If
Next
list.FullRowSelect = True
End Sub

Estoy seguro que con muy poco esfuerzo podrán también adaptarlo a sus necesidades y también mejorarlo.



4 Responses to “Colorear un ListView”

  1. cibernetiko dice:

    excelente codigo.. le da un toque mucho mas profesional al listview.. gracias

  2. NicoNqn dice:

    Hola, muy buena la pagina me esta ayudando de mucho,pero tengo un problema con un listview, estoy usando visual 2005.
    Tengo 2 columnas (Habitacion,Estado) y 2 filas (Ej: Habitacion:1, Estado:Ocupado,Habitacion:2,Estado:Libre etc). Necesito que si el estado de una de las habitaciones es ocupado la celda me pinte en rojo o cuaquier color.Solamente que pinte en rojo la celda del estado,en este ejemplo seria la columna 1 fila 1.
    Pruebo con este codigo (lstGrilla.Items(fila).SubItems(col).BackColor = Color.Red)pero me larga un error
    Espero que me pueda haber explicado..desde ya muchas gracias.!

  3. l_kamikaze_l dice:

    disculpa la ignorancia.. pero kiero llamar a ese sub en el evento load del form y no se como.. jeje Help me!! por fa..!!

  4. Geronimo Fernandez dice:

    Para utilizar la funcion solo tienes que pasarle el nombre de tu listview como parametro:

    Private Sub Form1_Load(sender….

    colorearListView(ListView1)

    End Sub

Comentar