ICONE NO LISTVIEW
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
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
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?
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?
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
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
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
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)
Show de bola amigos, muito obrigado por dividir seus conhecimentos!
Tópico encerrado , respostas não são mais permitidas