Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Colorir Texto de Listview baseada em condição
Colorir Texto de Listview baseada em condição
Olá
Fiz uma adaptação do modelo de cadastro de produtos (autoria Beckman) que encontrei aqui no forum.
Mas estou a ter dificuldades em fazer o seguinte:
Se numa determinada coluna ("L", por exemplo) uma célula tiver o texto "Activo", o texto de toda a linha do Listview tem que ficar vermelha.
Já estive a pesquisar aqui no fórum e encontrei uma listview que faz isso, mas não consigo compatibilizar o código com o deste modelo.
Podem dar uma ajuda?
Obrigado
Ioncila
Deixo aqui a minha adaptação.
Fiz uma adaptação do modelo de cadastro de produtos (autoria Beckman) que encontrei aqui no forum.
Mas estou a ter dificuldades em fazer o seguinte:
Se numa determinada coluna ("L", por exemplo) uma célula tiver o texto "Activo", o texto de toda a linha do Listview tem que ficar vermelha.
Já estive a pesquisar aqui no fórum e encontrei uma listview que faz isso, mas não consigo compatibilizar o código com o deste modelo.
Podem dar uma ajuda?
Obrigado
Ioncila
Deixo aqui a minha adaptação.
- Anexos
-
- testforlinered.7z
- Modelo de cadastro
- (189.98 KiB) Baixado 554 vezes
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Colorir Texto de Listview baseada em condição
ioncila, boa tarde.
A pouco tempo tive a necessidade de criar uma situação parecida e consegui desenvolver, através de algumas pesquisas, um código para isso.
Dei uma adaptada para a sua situação. Veja se vai atender:
Qualquer dúvida é só falar.
Abraços.
A pouco tempo tive a necessidade de criar uma situação parecida e consegui desenvolver, através de algumas pesquisas, um código para isso.
Dei uma adaptada para a sua situação. Veja se vai atender:
Código: Selecionar todos
Sub CoresLinhasLista()
Dim i, j As Integer
For i = 1 To Me.lsLista.ListItems.Count
With Me.lsLista
If .ListItems(i).ListSubItems(11).Text = "Activo" Then
For j = 1 To .ColumnHeaders.Count - 1
.ListItems(i).ListSubItems(j).ForeColor = vbBlue
Next
ElseIf .ListItems(i).ListSubItems(11).Text = "Suspenso" Then
For j = 1 To .ColumnHeaders.Count - 1
.ListItems(i).ListSubItems(j).ForeColor = vbRed
Next
ElseIf .ListItems(i).ListSubItems(11).Text = "Ausente" Then
For j = 1 To .ColumnHeaders.Count - 1
.ListItems(i).ListSubItems(j).ForeColor = vbBlack
Next
End If
End With
Next
End Sub
Abraços.
Re: Colorir Texto de Listview baseada em condição
Mikel
Obrigado pela resposta e pela sugestão.
Já experimentei mas não aconteceu nada. Tentei de duas maneiras:
1. Colocando o seu código num módulo e chamando a macro introduzindo em "PreencherListview" um Call CoresLinhasLista
2. Criando um Private Sub e introduzindo em "PreencherListview" um Call CoresLinhasLista.
A userform abre mas o texto continua todo em black.
Experimentou no meu anexo?
O que estou a fazer de errado?
Ioncila
Obrigado pela resposta e pela sugestão.
Já experimentei mas não aconteceu nada. Tentei de duas maneiras:
1. Colocando o seu código num módulo e chamando a macro introduzindo em "PreencherListview" um Call CoresLinhasLista
2. Criando um Private Sub e introduzindo em "PreencherListview" um Call CoresLinhasLista.
A userform abre mas o texto continua todo em black.
Experimentou no meu anexo?
O que estou a fazer de errado?
Ioncila
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Colorir Texto de Listview baseada em condição
ioncila, boa tarde.
Vou ser sincero, tentei e somente consegui fazer mudar de cores colocando o comando Call CoresLinhasListas sendo acionando por um botão.
No meu caso eu utilizo um DoubleClick para apenas as linhas que quero ficarem coloridas, mas o listview já iniciar carregado com as cores eu tb não consegui fazer 100%.
Mas não se preocupe, eu só não quebrei mais a cabeça com isso pq estou atrasado com um artigo, mas assim que folgar, vou dar uma atenção especial neste caso, ok.
Caso você consiga solucionar o mistério, não esqueça de postar aqui. Vamos conversando e logo alguém aparece com uma solução.
Abraços.
Vou ser sincero, tentei e somente consegui fazer mudar de cores colocando o comando Call CoresLinhasListas sendo acionando por um botão.
No meu caso eu utilizo um DoubleClick para apenas as linhas que quero ficarem coloridas, mas o listview já iniciar carregado com as cores eu tb não consegui fazer 100%.
Mas não se preocupe, eu só não quebrei mais a cabeça com isso pq estou atrasado com um artigo, mas assim que folgar, vou dar uma atenção especial neste caso, ok.
Caso você consiga solucionar o mistério, não esqueça de postar aqui. Vamos conversando e logo alguém aparece com uma solução.
Abraços.
Re: Colorir Texto de Listview baseada em condição
Mikel
Não precisa quebrar a cabeça. Eu é que preciso de aprender mais de VB
O seu código funciona na perfeição. Apenas não estava no sítio certo.
Fiz uma série de tentativas e finalmente coloquei-o no lugar correcto (Private Sub PreencherCabeçalhoLinhas).
O que eu agradecia é que desse uma olhada no sentido de optimizar o código, se possível, pois parece-me que com esta adição a form demora mais tempo a abrir.
Deixo aqui o anexo com essa alteração. Pode ser que seja útil para outros.
Um grande muito obrigado
Ioncila
Não precisa quebrar a cabeça. Eu é que preciso de aprender mais de VB
O seu código funciona na perfeição. Apenas não estava no sítio certo.
Fiz uma série de tentativas e finalmente coloquei-o no lugar correcto (Private Sub PreencherCabeçalhoLinhas).
O que eu agradecia é que desse uma olhada no sentido de optimizar o código, se possível, pois parece-me que com esta adição a form demora mais tempo a abrir.
Deixo aqui o anexo com essa alteração. Pode ser que seja útil para outros.
Um grande muito obrigado
Ioncila
- Anexos
-
- testforlinered.7z
- Colorir Linha
- (202.58 KiB) Baixado 574 vezes
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Colorir Texto de Listview baseada em condição
ioncila, bom dia.
A minha preocupação é de tentar aprender também. Sempre que vejo a possibilidade de estar ajudando nas dúvidas de outros usuários, é uma oportunidade de estar acrescentando aos meus conhecimentos também.
Vejo trabalhos feitos por alguns coletas do fórum e sinceramente, acredito que estou engatinhando ainda.. rs
Abraços e bons estudos.
A minha preocupação é de tentar aprender também. Sempre que vejo a possibilidade de estar ajudando nas dúvidas de outros usuários, é uma oportunidade de estar acrescentando aos meus conhecimentos também.
Vejo trabalhos feitos por alguns coletas do fórum e sinceramente, acredito que estou engatinhando ainda.. rs
Abraços e bons estudos.
- joseA
- Jedi
- Mensagens: 1048
- Registrado em: Qui Out 22, 2009 7:22 am
- Localização: Cel. Fabriciano - MG
Re: Colorir Texto de Listview baseada em condição
ioncila,
Poderia postar novamente seu arquivo, não está abrindo aqui.
Poderia postar novamente seu arquivo, não está abrindo aqui.
Re: Colorir Texto de Listview baseada em condição
Caro JoséjoseA escreveu:ioncila,
Poderia postar novamente seu arquivo, não está abrindo aqui.
Aqui vai
Cumprimentos
Ioncila
- Anexos
-
- testforlinered.7z
- (202.58 KiB) Baixado 650 vezes