Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
FILTRO LISTVIEW
-
- Colaborador
- Mensagens: 57
- Registrado em: Sáb Ago 16, 2014 10:44 am
FILTRO LISTVIEW
Boa Tarde Maus amigos,
Alguém sabe como fazer um filtro na Listview da seguinte forma....
Uma das colunas da listview é M.I e preciso filtrar apenas as que são maiores que 0..... tem vários valores....2,5 3,5 4,5.... enfim, ai o melhor seria filtrar o que for maior que 0.
Pode fazer o exemplo com uma coluna, bem simples que eu adapto ao meu código.
O meu código é complexo se eu for compartilhar vai demorar muito até alguém adapta-lo.... então acho melhor coletar sugestões e adaptar..... depois compartilho com vocês como ficou....
Abraço e bom fim de ano para todos!
Alguém sabe como fazer um filtro na Listview da seguinte forma....
Uma das colunas da listview é M.I e preciso filtrar apenas as que são maiores que 0..... tem vários valores....2,5 3,5 4,5.... enfim, ai o melhor seria filtrar o que for maior que 0.
Pode fazer o exemplo com uma coluna, bem simples que eu adapto ao meu código.
O meu código é complexo se eu for compartilhar vai demorar muito até alguém adapta-lo.... então acho melhor coletar sugestões e adaptar..... depois compartilho com vocês como ficou....
Abraço e bom fim de ano para todos!
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: FILTRO LISTVIEW
Talvez assim>
Código: Selecionar todos
'Filtrar uma coluna retirando o registro do listview
Private Sub SeuBotao_Click()
Dim Tmp As Integer, i As Integer
Tmp = UserForm1.ListView1.ListItems.Count 'Troque para o nome de seu formulario
For i = 1 To Tmp
With ListView1
If .ListItems(i).SubItems(2) > 0 Then 'Supondo que o valor a ser filtrado seja a coluna 3
UserForm1.ListView1.ListItems.Remove i
i = i - 1
Tmp = Tmp - 1
If i = Tmp Then Exit For
Tmp = UserForm1.ListView1.ListItems.Count
End If
End With
Next
End Sub
-
- Colaborador
- Mensagens: 57
- Registrado em: Sáb Ago 16, 2014 10:44 am
Re: FILTRO LISTVIEW
Bom Dia Reinaldo,
Nesse caso supondo que eu tenha cinco colunas, como faço para carregar elas nesse código?
Nesse caso supondo que eu tenha cinco colunas, como faço para carregar elas nesse código?
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: FILTRO LISTVIEW
Verificou o titulo do código --> Filtrar uma coluna retirando o registro do listview
Ou seja o listview "já foi carregado", a rotina retira o item que não atenda o "filtro".
È uma rotina bem simples; não é isso que deseja?
Ou seja o listview "já foi carregado", a rotina retira o item que não atenda o "filtro".
È uma rotina bem simples; não é isso que deseja?
Re: FILTRO LISTVIEW
OLÁ AMIGOS ESTOU USANDO ESTE CÓDIGO MAS ELE ESTÁ RETORNANDO ERRO EM TEMPO DE EXECUÇÃO 35600...
ALGUEM PODE AJUDAR-ME?
'Filtrar uma coluna retirando o registro do listview
Private Sub SeuBotao_Click()
Dim Tmp As Integer, I As Integer
Tmp = CADASTRO_FORNECEDOR.ListView1.ListItems.Count 'Troque para o nome de seu formulario
For I = 1 To Tmp
With ListView1
If .ListItems(I).SubItems(9) = "EM DIA" Then 'Supondo que o valor a ser filtrado seja a coluna 9
CADASTRO_FORNECEDOR.ListView1.ListItems.Remove I
I = I - 1
Tmp = Tmp - 1
If I = Tmp Then Exit For
Tmp = CADASTRO_FORNECEDOR.ListView1.ListItems.Count
End If
End With
Next
End Sub
ALGUEM PODE AJUDAR-ME?
'Filtrar uma coluna retirando o registro do listview
Private Sub SeuBotao_Click()
Dim Tmp As Integer, I As Integer
Tmp = CADASTRO_FORNECEDOR.ListView1.ListItems.Count 'Troque para o nome de seu formulario
For I = 1 To Tmp
With ListView1
If .ListItems(I).SubItems(9) = "EM DIA" Then 'Supondo que o valor a ser filtrado seja a coluna 9
CADASTRO_FORNECEDOR.ListView1.ListItems.Remove I
I = I - 1
Tmp = Tmp - 1
If I = Tmp Then Exit For
Tmp = CADASTRO_FORNECEDOR.ListView1.ListItems.Count
End If
End With
Next
End Sub
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: FILTRO LISTVIEW
Básicamente o erro "erro em tempo de execução 35600 index out of bounds" ocorre quando se refere a um item "I" que não e encontrado no listview.
Somente pelo codigo não há como saber o real motivo.
Experimente; entre outros; o postado em
viewtopic.php?t=2642
http://www.planilhando.com.br/forum/vie ... 10&t=27929
http://www.planilhando.com.br/forum/vie ... 10&t=25950
poste seu modelo que origina o erro, se não conseguir adaptar.
Somente pelo codigo não há como saber o real motivo.
Experimente; entre outros; o postado em
viewtopic.php?t=2642
http://www.planilhando.com.br/forum/vie ... 10&t=27929
http://www.planilhando.com.br/forum/vie ... 10&t=25950
poste seu modelo que origina o erro, se não conseguir adaptar.
Re: FILTRO LISTVIEW
BOA TARDE REINALDO TUDO BEM? OBRIGADO PELA DICA MAS PESQUISEI NOS SITES QUE ME PASSOU E NADA RELACIONADO AO QUE PRECISO.
EU QUERIA FILTRAR OS ITEMS DA LISTVIEW E NÃO DO BANCO DE DADOS ENTENDE, ESTE CÓDIGO ABAIXO ELE ATENDE MAS ESTÁ DANDO O ERRO QUE MENCIONEI ACIMA VC TERIA UMA SUGESTÃO PARA ME AJUDAR PARA FILTRAR OS DADOS DE UMA COLUNA DO LISTVIEW?
OBRIGADO PELA FORÇA E AGUARDO SUA AJUDA...
SEGUE ANEXO
EU QUERIA FILTRAR OS ITEMS DA LISTVIEW E NÃO DO BANCO DE DADOS ENTENDE, ESTE CÓDIGO ABAIXO ELE ATENDE MAS ESTÁ DANDO O ERRO QUE MENCIONEI ACIMA VC TERIA UMA SUGESTÃO PARA ME AJUDAR PARA FILTRAR OS DADOS DE UMA COLUNA DO LISTVIEW?
OBRIGADO PELA FORÇA E AGUARDO SUA AJUDA...
SEGUE ANEXO
- Anexos
-
- GRU.rar
- (95.44 KiB) Baixado 220 vezes
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: FILTRO LISTVIEW
Evite; em suas solicitações; escrever tudo em caixa Alta (maiúscula), nos foruns isso significa gritar, o que não"pega" bem.
Quanto sua demanda experimente:
Quanto sua demanda experimente:
Código: Selecionar todos
'Filtrar por uma coluna retirando o registro do listview
Private Sub SeuBotao_Click()
Dim Tmp As Integer, I As Integer
Tmp = ListView1.ListItems.Count 'Troque para o nome de seu formulario
For I = 1 To Tmp
With ListView1
If I > Tmp Then GoTo saida
If .ListItems(I).SubItems(9) = "EM DIA" Then 'Supondo que o valor a ser filtrado seja a coluna 9
ListView1.ListItems.Remove I
I = I - 1
Tmp = Tmp - 1
End If
End With
Next
saida:
'Não entendi a necessidade das tres linhas abaixo,visto que somente a ultima e considerada
label_registro.Caption = "NENHUM REGISTRO ENCONTRADO."
label_registro.Caption = "UM ITEM ENCONTRADO."
label_registro.Caption = ListView1.ListItems.Count & " ITENS ENCONTRADOS."
End Sub