EXCLUIR LINHAS SELECIONADAS DO LISTVIEW
Pessoal...
Como faço para excluir as linhas selecionadas em um ListView ???
Lembrando que as linhas podem ser sequenciada ou salteada...
Tentei seguindo este exemplo mas não deu:
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=303636
Como faço para excluir as linhas selecionadas em um ListView ???
Lembrando que as linhas podem ser sequenciada ou salteada...
Tentei seguindo este exemplo mas não deu:
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=303636
Tente esse código
O segredo está na propriedade SelectedItem.Selected
Dim i As Integer
With ListView1
For i = 1 To .ListItems.Count
If .SelectedItem.Selected = True Then
.ListItems.Remove (.SelectedItem.Index)
End If
Next i
End With
O segredo está na propriedade SelectedItem.Selected
Fiz isso...mas exclui se as linhas estiverem juntas...tente excluir a 2ª e 4ª linha ao mesmo tempo...só apaga a ultima selecionada...
GOODSPEAKERS:
Tentei usar este código adaptado em uma opção com o botão direito do mouse...mas não funcionou...se seleciono 5 itens, apenas 3 são excluÃdos...se seleciono 15 ou mais linhas acontece o mesmo, somente umas 3 ou 4 são excluÃdas...
Tentei usar este código adaptado em uma opção com o botão direito do mouse...mas não funcionou...se seleciono 5 itens, apenas 3 são excluÃdos...se seleciono 15 ou mais linhas acontece o mesmo, somente umas 3 ou 4 são excluÃdas...
Experimenta dessa forma
Dim i As Integer
With ListView1
For i = 1 To .ListItems.Count
If .ListItems(i).Selected=True Then
.ListItems.Remove (i)
i = i - 1
End If
Next i
End With
Dim i As Integer
With ListView1
For i = 1 To .ListItems.Count
If .ListItems(i).Selected=True Then
.ListItems.Remove (i)
i = i - 1
End If
Next i
End With
GOODSPEAKERS: Como disse, uso MenuPopup para chamar essa sub...e com as dicas citadas acima não conseguÃ...
se selecionada a linha 3, 6 e 8 por exemplo, a 3 e a 6 eram excluÃdas mas a 8 ficava...
deduzà que ocorria isso porque sempre que uma linha é excluÃda o [Ô]ListItens.Count[Ô] é renovado,
mudando assim as posições das linhas selecionadas...então resolvà usar o [Ô]nome[Ô] do Ãtem da linha selecionada como referência de exclusão...ficou assim:
A todos, muito obrigado pelas dicas !
se selecionada a linha 3, 6 e 8 por exemplo, a 3 e a 6 eram excluÃdas mas a 8 ficava...
deduzà que ocorria isso porque sempre que uma linha é excluÃda o [Ô]ListItens.Count[Ô] é renovado,
mudando assim as posições das linhas selecionadas...então resolvà usar o [Ô]nome[Ô] do Ãtem da linha selecionada como referência de exclusão...ficou assim:
Sub Excluir_Linha()
On Error Resume Next
Dim CL As New Collection
Dim I As Long
Dim Z As Long
For I = 1 To Lv1.ListItems.Count
If Lv1.ListItems(I).Selected = True Then
CL.Add Lv1.ListItems(I).Text
End If
Next I
For Each L In CL
For Z = 1 To Lv1.ListItems.Count
If Lv1.ListItems(Z).Text = L Then
Lv1.ListItems.Remove Z
End If
Next Z
Next L
Set CL = Nothing
End Sub
A todos, muito obrigado pelas dicas !
Tópico encerrado , respostas não são mais permitidas