ZEBRAR LISTVIEW
Bom dia galera, gostaria que voces me ajudassem em como Zebrar um listview...
Não tenho problemas com o preenchimento.. mas queria [Ô]emperiquitar[Ô] um pouco mais o sistema.
Quem puder me ajudar com o código e como utilizar eu agradeço...
Abraços....
Não tenho problemas com o preenchimento.. mas queria [Ô]emperiquitar[Ô] um pouco mais o sistema.
Quem puder me ajudar com o código e como utilizar eu agradeço...
Abraços....
como assim zebrar?????
Bom galera antes mesmo de vir aqui e ver as respostas, achei uma função que faz o que eu preciso..
Mas quanto eu estava testando encontrei um problema...
Quando o resultado dos itens ultrapassam [Ô]uma página[Ô](tipo passa do número de itens que aparecem sem usar a barra de rolagem..)
ele buga tdo.. tipo que duplica os items em cada linha e fica tudo horrÃvel.. para corrigir o problema eu preciso passar pelos itens usando as setas do teclado, ou entao descer [Ô]uma pagina[Ô] a barra de rolagem e voltar.. e meu cliente é chato e isso ele nao irá fazer.
Segue a rotina que estou usando,
E para zebrar a list.
Segue anexo print screen do meu problema
Mas quanto eu estava testando encontrei um problema...
Quando o resultado dos itens ultrapassam [Ô]uma página[Ô](tipo passa do número de itens que aparecem sem usar a barra de rolagem..)
ele buga tdo.. tipo que duplica os items em cada linha e fica tudo horrÃvel.. para corrigir o problema eu preciso passar pelos itens usando as setas do teclado, ou entao descer [Ô]uma pagina[Ô] a barra de rolagem e voltar.. e meu cliente é chato e isso ele nao irá fazer.
Segue a rotina que estou usando,
If optDescricao.Value = True Then
Set listproduto = db.OpenRecordset([Ô]SELECT * FROM produto WHERE DESCRICAO LIKE [ô]*[Ô] & txtDescricao & [Ô]*[ô] ORDER BY DESCRICAO[Ô], dbOpenDynaset)
List1.ListItems.Clear
Do While Not listproduto.EOF
Set Item = List1.ListItems.Add
Item.Text = listproduto!CODIGO
Item.SubItems(1) = listproduto!DESCRICAO
Item.SubItems(2) = IIf(IsNull(listproduto!CUSTOMED), [Ô][Ô], Format(listproduto!CUSTOMED, [Ô]##,#0.00[Ô]))
Item.SubItems(3) = IIf(IsNull(listproduto!margem), [Ô][Ô], Format(listproduto!margem, [Ô]##,#0.00[Ô]))
Item.SubItems(4) = Format(listproduto!precovenda, [Ô]##0.00[Ô])
Item.SubItems(5) = IIf(IsNull(listproduto!PRECOATACADO), [Ô][Ô], Format(listproduto!PRECOATACADO, [Ô]##0.00[Ô]))
Item.SubItems(6) = IIf(IsNull(listproduto!estoque), 0, listproduto!estoque)
AltLVBackground List1, vbWhite, vbInfoBackground
listproduto.MoveNext
Loop
E para zebrar a list.
Private Sub AltLVBackground(lv As ListView, _
ByVal BackColorOne As OLE_COLOR, _
ByVal BackColorTwo As OLE_COLOR)
Dim lSM As Byte
Dim picAlt As PictureBox
With lv
If .View = lvwReport And .ListItems.Count Then
Set picAlt = Me.Controls.Add([Ô]VB.PictureBox[Ô], [Ô]picAlt[Ô])
lSM = .Parent.ScaleMode
.Parent.ScaleMode = vbTwips
.PictureAlignment = lvwTile
lH = .ListItems(1).Height
With picAlt
.BackColor = BackColorOne
.AutoRedraw = True
.Height = lH * 2
.BorderStyle = 0
.Width = 10 * Screen.TwipsPerPixelX
picAlt.Line (0, lH)-(.ScaleWidth, lH * 2), BackColorTwo, BF
Set lv.Picture = .Image
End With
Set picAlt = Nothing
Me.Controls.Remove [Ô]picAlt[Ô]
lv.Parent.ScaleMode = lSM
End If
End With
End Sub
Segue anexo print screen do meu problema
Gente, ja consegui.. com apenas uma linha meu problema foi resolvido.
List1.refresh ao final da inserção de dados na list.
Créditos ao meu amigo THIAGOEMECAL
Obrigado à quem tentou ajudar.
List1.refresh ao final da inserção de dados na list.
Créditos ao meu amigo THIAGOEMECAL
Obrigado à quem tentou ajudar.
Tópico encerrado , respostas não são mais permitidas