Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: estranguladordesoplones en 27 Septiembre 2013, 16:07 PM

Título: Colorear filas de un listview
Publicado por: estranguladordesoplones en 27 Septiembre 2013, 16:07 PM
Hola comunidad, estoy programando una pequeña base de datos y necesito resaltar de color en el listview ciertos datos. Por ejemplo, tengo visualizado el campo de "adeudos" en el listview, y si algún cliente  tiene un adeudo, que lo resalte en color rojo.
De antemano muchas gracias.
Título: Re: Colorear filas de un listview
Publicado por: Danyfirex en 27 Septiembre 2013, 16:31 PM
hola. puedes hacerlo así:


Código (vb) [Seleccionar]
ListView1.ListItems(1).ForeColor = vbBlue  ' para items
ListView1.ListItems(1).ListSubItems(1).ForeColor = vbRed ' para subitems

saludos
Título: Re: Colorear filas de un listview
Publicado por: estranguladordesoplones en 27 Septiembre 2013, 19:12 PM
Muchas gracias Danyfirex.
Título: Re: Colorear filas de un listview
Publicado por: estranguladordesoplones en 2 Octubre 2013, 15:03 PM
Esto de colorear ciertas filas del listview se me ha complicado un poco, a ver si me doy a entender, necesito ubicar una columna en el listview y sobre esa columna obtener las filas que tengan texto, para así identificar que esa fila tiene adeudos, y aplicar el código que me sugeriste: ListView1.ListItems(1).ListSubItems(1).ForeColor = vbRed.
Espero haber sido mas explicito y nuevamente gracias.
Título: Re: Colorear filas de un listview
Publicado por: Danyfirex en 2 Octubre 2013, 17:57 PM
Solo tienes que recorrer las filas de la columna donde tienes si es o no deudor.

ejemplo:

Código (vb) [Seleccionar]
Private Function verificar(columna As Integer)
   
   Dim i As Integer
   Select Case columna
   Case 0
   For i = 1 To ListView1.ListItems.Count
   If ListView1.ListItems(i) <> "" Then
   ListView1.ListItems(i).ForeColor = vbRed
   Debug.Print ListView1.ListItems(i)
   End If
   Next i
   ListView1.Refresh
   Case Is >= 1
   
   For i = 1 To ListView1.ListItems.Count
   If ListView1.ListItems(i).SubItems(columna) <> "" Then
       ListView1.ListItems(i).ListSubItems(columna).ForeColor = vbRed
       Debug.Print ListView1.ListItems(i).SubItems(columna)
   End If
   Next i
   ListView1.Refresh
   Case Else
   End Select
End Function



En la función el si le pasas 0 seria la primera columna. si pasas 1 seria la segunda(osea el primer subitem).

espero entiendas.

saludos
Título: Re: Colorear filas de un listview
Publicado por: estranguladordesoplones en 3 Octubre 2013, 20:42 PM
heyy Danyfirex muchas gracias, funcionó muy bien. Saludos
Título: Re: Colorear filas de un listview
Publicado por: Danyfirex en 3 Octubre 2013, 20:58 PM
Cita de: estranguladordesoplones en  3 Octubre 2013, 20:42 PM
heyy Danyfirex muchas gracias, funcionó muy bien. Saludos

De nada.

saludos  ;D