ICONE NO LISTVIEW

LEONARDOSILVEIR 19/05/2011 13:20:34
#374399
Pessoal, preciso inserir um icone nas linhas do meu listiview, porém nao estou conseguindo. Gostaria que de acordo com o valor da coluna LVITEM.SubItems.Add(tabela.Fields([Ô]STATUS_EXEC[Ô]).Value.ToString) o icone fosse inserido, por exemplo se o status for OK que apresentasse icone e se fosse Pendente que apresentasse outro tipo de icone. Segue abaixo meu codigo para carregar os dados do meu bd para o listivew.



Private Sub EXECUTE_QUERY_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim LVITEM As New ListViewItem

Call Abrirconexao()

With Me.lstmostra
lstmostra.Columns.Add([Ô]Query[Ô], 300, HorizontalAlignment.Center)
lstmostra.Columns.Add([Ô]Descrição[Ô], 500, HorizontalAlignment.Left)
lstmostra.Columns.Add([Ô]Status[Ô], 100, HorizontalAlignment.Center)
lstmostra.Columns.Add([Ô]Seq.[Ô], 50, HorizontalAlignment.Center)
[ô]lstmostra.Columns.Add([Ô]Nivel Acesso[Ô], 200, HorizontalAlignment.Center)
lstmostra.FullRowSelect = True
lstmostra.GridLines = True
lstmostra.View = View.Details
End With

[ô]Preenche o Listview (lstmostra)

tabela.Open([Ô]SELECT QUERY_NOME, QUERY_DESCR, STATUS_EXEC, SEQ_EXEC FROM MMC_QUERY ORDER BY SEQ_EXEC[Ô], Conexao)

Do While Not tabela.EOF

LVITEM = Me.lstmostra.Items.Add(tabela.Fields([Ô]QUERY_NOME[Ô]).Value.ToString)
LVITEM.SubItems.Add(tabela.Fields([Ô]QUERY_DESCR[Ô]).Value.ToString)
[txt-color=#e80000] LVITEM.SubItems.Add(tabela.Fields([Ô]STATUS_EXEC[Ô]).Value.ToString)[/txt-color]
LVITEM.SubItems.Add(tabela.Fields([Ô]SEQ_EXEC[Ô]).Value.ToString)

tabela.MoveNext()
Loop

Conexao.Close()
end sub
PEGUDO 19/05/2011 13:48:16
#374404
Resposta escolhida
Primeiro você deve inserir um ImageList ou colocar as imagens no Resource do programa

Vamos trabalhar com o ImageList:
O índice do ícone positivo será 0
O índice do ícone negativo será 1

Nas propriedades do ListView, configure o [Ô]SmallImageList[Ô] para ImageList1

Aí está o exemplo:
[txt-color=#0000f0]Dim[/txt-color] Item [txt-color=#0000f0]As[/txt-color] ListViewItem
[txt-color=#0000f0]Dim[/txt-color] C [txt-color=#0000f0]As New [/txt-color]ADODB.Connection, RecSet [txt-color=#0000f0]As[/txt-color] RecordSet
[txt-color=#0000f0]Dim[/txt-color] Status [txt-color=#0000f0]As String[/txt-color]

[txt-color=#007100][ô]Vou encurtar o código e pular a busca no BD
[ô]Depois da busca no Banco de dados façamos o While
[ô]Lembre-se, também, que eu não estou buscando todos os campos só o Staus e o Nome[/txt-color]

[txt-color=#0000f0]While Not [/txt-color]RecSet.EOF
Status = RecSet([txt-color=#e80000][Ô]STATUS_EXEC[Ô][/txt-color]).Value.ToString
[txt-color=#0000f0]If[/txt-color] Status = [Ô]ok[Ô] [txt-color=#0000f0]Then[/txt-color]
Item = ListView.Items.Add(RecSet([txt-color=#e80000][Ô]QUERY_NOME[Ô][/txt-color]).Value.ToString, 0) [txt-color=#007100][ô]O ícone é sempre na primeira coluna[/txt-color]
[txt-color=#0000f0]Else[/txt-color]
Item = ListView.Items.Add(RecSet([txt-color=#e80000][Ô]QUERY_NOME[Ô][/txt-color]).Value.ToString, 1)
[txt-color=#0000f0]End If
End While[/txt-color]

RecSet = [txt-color=#0000f0]Nothing[/txt-color]
C.Close

Lembre-se de que este exemplo é em ADODB. Adapte para seu código e veja se te ajuda
Por falar nisso eu já respondi a tua dúvida TAG HTML PORTAL NACIONAL. Você viu?

SABIDAOXD 19/05/2011 14:38:35
#374421
Gente vamos criar tópicos com consiência se a pessoa lhe ajudou encerre o tópico e dê a pontuação a quem mais te ajudou
LEONARDOSILVEIR 19/05/2011 22:03:40
#374491
Pegudo, só preciso de mais um ajuste no meu criterio do if, tenho 3 possiveis status, por exemplo ok, pendente e cancelado, como faço pra colocar este criterio no codigo abaixo.

If Status = [Ô]ok[Ô] Then
Item = ListView.Items.Add(RecSet([Ô]QUERY_NOME[Ô]).Value.ToString, 0) [ô]O ícone é sempre na primeira coluna
Else
Item = ListView.Items.Add(RecSet([Ô]QUERY_NOME[Ô]).Value.ToString, 1)
End If
End While
TECLA 19/05/2011 22:22:45
#374493
Segue uma dica simples.

[ô]Já está setado para opção [Ô]A[Ô]
Dim index As Integer = 0
Select Case Status
Case [Ô]B[Ô]
index = 1
Case [Ô]C[Ô]
index = 2
End Select
Item = ListView.Items.Add(RecSet([Ô]QUERY_NOME[Ô]).Value.ToString, index)
LEONARDOSILVEIR 20/05/2011 00:54:10
#374501
Show de bola amigos, muito obrigado por dividir seus conhecimentos!
Tópico encerrado , respostas não são mais permitidas