PINTAR LINHA DO LISTVIEW CONFORME A CONDICAO

PEDROCELESTINO 14/11/2009 13:20:13
#327754
Boa Tarde Pessoal!

Gostaria que alguem me ajudasse resolver um problema no programa.

Quando eu fizer uma busca de algums items de um pedido, Gostaria que no ListView determinadas linhas de um determinado item, conforme minha condição de pesquisa, ficasse [Ô]pintadas[Ô], [Ô]coloridas[Ô].

Exp: O Item do pedido que estar em falta ficar com a cor vermelha e os outros items ficarem com a cor normal.

Obs: No meu banco os items do pedido que estão em falta recebe identificação 1(um), os registro em disposição recebe o valor 0(Zero)

Quem poder me ajudar eu agradeço muito.

Obrigado!



ALEXPASSOS 17/11/2009 23:37:39
#328011
A linha de comando é essa

ListCons.Items(0).SubItems.Item(0).ForeColor = Color.Green

se caso não conseguir eu envio um exemplo
WSILVA1604 07/01/2010 10:48:51
#331293
Este código em um listview dá erro, manda o exemplo
WSILVA1604 07/01/2010 10:56:21
#331294
Seguinte consegui um jeito para pintar a linha completamente, incluindo os subitems:

Basta utilizar a Função.

Public Sub ColorListviewRow(LV As Listview, RowNbr As Long, RowColor As OLE_COLOR)
[ô]***************************************************************************
[ô]Purpose: Color a ListView Row
[ô]Inputs : lv - The ListView
[ô] RowNbr - The index of the row to be colored
[ô] RowColor - The color to color it
[ô]Outputs: None
[ô]***************************************************************************

Dim itmX As ListItem
Dim lvSI As ListSubItem
Dim intIndex As Integer

On Error GoTo ErrorRoutine

Set itmX = LV.ListItems(RowNbr)
itmX.ForeColor = RowColor
For intIndex = 1 To LV.ColumnHeaders.Count - 1
Set lvSI = itmX.ListSubItems(intIndex)
lvSI.ForeColor = RowColor
Next

Set itmX = Nothing
Set lvSI = Nothing

Exit Sub

ErrorRoutine:

MsgBox Err.Description

End Sub

[ô]Para Chamar a mesma é o seguinte:
ColorListviewRow lstVw, 1, vbBlue
Tópico encerrado , respostas não são mais permitidas