Foro de elhacker.net

Programación => 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
  1. ListView1.ListItems(1).ForeColor = vbBlue  ' para items
  2. ListView1.ListItems(1).ListSubItems(1).ForeColor = vbRed ' para subitems
  3.  
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
  1. Private Function verificar(columna As Integer)
  2.  
  3.    Dim i As Integer
  4.    Select Case columna
  5.    Case 0
  6.    For i = 1 To ListView1.ListItems.Count
  7.    If ListView1.ListItems(i) <> "" Then
  8.    ListView1.ListItems(i).ForeColor = vbRed
  9.    Debug.Print ListView1.ListItems(i)
  10.    End If
  11.    Next i
  12.    ListView1.Refresh
  13.    Case Is >= 1
  14.  
  15.    For i = 1 To ListView1.ListItems.Count
  16.    If ListView1.ListItems(i).SubItems(columna) <> "" Then
  17.        ListView1.ListItems(i).ListSubItems(columna).ForeColor = vbRed
  18.        Debug.Print ListView1.ListItems(i).SubItems(columna)
  19.    End If
  20.    Next i
  21.    ListView1.Refresh
  22.    Case Else
  23.    End Select
  24. 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
heyy Danyfirex muchas gracias, funcionó muy bien. Saludos

De nada.

saludos  ;D