elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Formato en ListVieew.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Formato en ListVieew.  (Leído 2,820 veces)
mdg

Desconectado Desconectado

Mensajes: 73


Ver Perfil
Formato en ListVieew.
« en: 19 Agosto 2007, 06:40 am »

Hola foreros!

antes que nada , gracias de antemano por su ayuda y por su tiempo.

La cuestion seria que intento darle formato a las filas del listvieew, el formato seria una fila color celeste, una color blanca, una color celeste, otra blanca, etc, etc.... y asi en todas las filas.

seria eso posible..?



En línea

HaDeS, -
WarZone Master

Desconectado Desconectado

Mensajes: 284



Ver Perfil WWW
Re: Formato en ListVieew.
« Respuesta #1 en: 19 Agosto 2007, 07:27 am »

Bueno estuve viendo, y la propiedad Backcolor solo sirve para el fondo de todo el listview, y quedaria maluco hacer que el fondo sea blanco, y que el color de la letra (Forecolor) de una fila sea roja, otra azul, otra roja, etc.
Igual te pongo el codigo por si queres hacer eso, me parece que el objeto mas apropiado en este caso es el Datagrid, pero no estoy muy seguro de ello, consulta a ver si ese es el que te permite intercambiar el color de fondo cada fila.

El codigo en Visual Basic
Código
  1. Private Sub Command1_Click()
  2. Dim Color As Boolean
  3. For i = 1 To ListView1.ListItems.Count
  4.    For j = 1 To ListView1.ListItems(i).ListSubItems.Count
  5.        If Color Then
  6.            ListView1.ListItems(i).ForeColor = vbBlue
  7.            ListView1.ListItems(i).ListSubItems(j).ForeColor = vbBlue
  8.        Else
  9.            ListView1.ListItems(i).ForeColor = vbRed
  10.            ListView1.ListItems(i).ListSubItems(j).ForeColor = vbRed
  11.        End If
  12.    Next j
  13.    Color = Not Color
  14. Next i
  15. ListView1.Refresh
  16. End Sub
  17.  

o mejor utiliza esta funcion, que en teoria es lo mismo, solo que se evoca de la siguiente forma
Código
  1. CambiaColorxFila Listview1, vbRed, vbBlue
  2.  
Código
  1. Public Sub CambiaColorxFila(Lview As ListView, Color1 As OLE_COLOR, Color2 As OLE_COLOR)
  2. Dim Color As Boolean
  3. For i = 1 To Lview.ListItems.Count
  4.    For j = 1 To Lview.ListItems(i).ListSubItems.Count
  5.        If Color Then
  6.            Lview.ListItems(i).ForeColor = Color1
  7.            Lview.ListItems(i).ListSubItems(j).ForeColor = Color1
  8.        Else
  9.            Lview.ListItems(i).ForeColor = Color2
  10.            Lview.ListItems(i).ListSubItems(j).ForeColor = Color2
  11.        End If
  12.    Next j
  13.    Color = Not Color
  14. Next i
  15. Lview.Refresh
  16. End Sub
  17.  

Tenes que tener el Listview de nombre ListView1, el boton de comando de nombre Command1.
Si me equivoco pues corrijanmen :P

Saludos y espero servir de algo


« Última modificación: 19 Agosto 2007, 07:39 am por HaDeS, - » En línea

mdg

Desconectado Desconectado

Mensajes: 73


Ver Perfil
Re: Formato en ListVieew.
« Respuesta #2 en: 22 Agosto 2007, 05:55 am »

Gracias compañero, aunque no es lo que busco lo probe y me sirve para algunas cuestiones por ahi , gracias nuevamente.

Pd.: estuve mirando en las propiedades del Grid pero no encontre nada acerca de intercalar color de fondo de las filas...
 
En línea

TUNOVATO

Desconectado Desconectado

Mensajes: 56


Ver Perfil
Re: Formato en ListVieew.
« Respuesta #3 en: 22 Agosto 2007, 19:32 pm »

Hace mucho tiempo tuve esa inquietud para mi aplicacion

y buscando encontre y dapte estos code algo rudimentario pero al fin solucion:


1.- Opcion 1

este Utiliza un ListView y un Picturebox para emular los colores el las filas

Código:
'funcion que realiza pintar la filas utilizando un control tipo picture
Function ColoreaLv(lv As ListView)

Dim iWidth As Integer, iHeight As Integer
With Picture1
    lv.PictureAlignment = lvwTile
        .AutoRedraw = True
        .AutoSize = True
        .BorderStyle = vbBSNone
        .ScaleMode = vbTwips
        .Top = lv.SelectedItem.Top
        .Width = lv.Width
        .Height = lv.SelectedItem.Height * 2
            iWidth = lv.Width
            iHeight = lv.SelectedItem.Height
            Picture1.Line (0, 0)-(iWidth, iHeight), vbRed, BF '&HC0FFC0
            lv.Picture = Picture1.Image
End With
End Function

2.- Opcion 2
este Utiliza un ListView y un Picturebox para emular los colores el las filas

Código:
'/*******************************************************************/
'***************RUTINA PARA PINTAR LINEAS EL LISTVIEW****************
'/*******************************************************************/

'este esta en prueba
Private Sub PintarListview()
    Dim i As Integer

'****** Inicializacion del Picture1  ******
    Picture1.BackColor = ListView1.BackColor
    Picture1.ScaleMode = vbTwips
    Picture1.BorderStyle = vbBSNone
    Picture1.AutoRedraw = True
    Picture1.Visible = False
'****** Finacializacion del Picture1  ******

'****** Inicializacion adaptando al ancho y largo del las lineas del Listview  ******
    Picture1.Width = ListView1.Width
    Picture1.Height = ListView1.ListItems(1).Height * (ListView1.ListItems.Count)
    Picture1.ScaleHeight = ListView1.ListItems.Count
    Picture1.ScaleWidth = 1
    Picture1.DrawWidth = 1
    Picture1.Cls
'****** Finalizacion adaptando al ancho y largo del las lineas del Listview  ******

'****** Bucle para pintar las lineas del Listview  ******
    For i = 1 To ListView1.ListItems.Count
       If i Mod 2 = 0 Then
         
         'LINEA VERDE
         Picture1.Line (0, i - 1)-(1, i), vbGreen, BF
       
       Else
         
         'LINEA AMARILLA
         Picture1.Line (0, i - 1)-(1, i), vbYellow, BF
       End If
    Next
   
    ListView1.Picture = Picture1.Image

End Sub


aca el pack de code:
http://www.savefile.com/files/993442


En línea

mdg

Desconectado Desconectado

Mensajes: 73


Ver Perfil
Re: Formato en ListVieew.
« Respuesta #4 en: 23 Agosto 2007, 05:26 am »

eso es esacto lo que buscaba, gracias por tu ayuda compañero, pueden cerrar el tema.-
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines