Supprimer les items qui existe dans deux ListView [Résolu]

Signaler
Messages postés
183
Date d'inscription
vendredi 2 septembre 2016
Statut
Membre
Dernière intervention
16 janvier 2018
-
Messages postés
183
Date d'inscription
vendredi 2 septembre 2016
Statut
Membre
Dernière intervention
16 janvier 2018
-
Bonjour

Je sollicite votre aide pour le problème suivant
J'ai deux ListView (ListView1 et ListView2) qui sont rempli automatiquement
Je veux en cliquant sur un bouton, une vérification sera lancer :
Si des items existes dans la ListView1 et dans la ListView2 alors ils seront supprimés de la ListView1
J'ai essayé le code suivant :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For I As Integer = ListView1.Items.Count - 1 To 0 Step -1
If ListView2.ToString.Contains(ListView1.Items(I).Text) Then
ListView1.Items.RemoveAt(I)
End If
Next
End Sub

Mais ça ne supprime que le premier item qui existe dans les deux ListView
en faite j'ai posé par le passé un sujet similaire (entre un tableau et une Listview mais j'arrive pas à l'appliquer à ce problème).
Merci pour tout aide

2 réponses

Messages postés
7419
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 juin 2021
124
Voilà:

  Try
            For A = 0 To ListView1.Items.Count - 1
                For B = 0 To ListView1.Items.Count - 1
                    If ListView1.Items(A).Text = ListView2.Items(B).Text Then
                        ListView1.Items.RemoveAt(A)
                    End If
                Next
            Next
        Catch
        End Try

Messages postés
183
Date d'inscription
vendredi 2 septembre 2016
Statut
Membre
Dernière intervention
16 janvier 2018
2
Merci beaucoup cs_Le Pivert le problème est résolu
Messages postés
7419
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 juin 2021
124
Bonjour,

Tu trouveras tout ce dont tu as besoin ici:

http://codes-sources.commentcamarche.net/source/101479-comparer-2-repertoires
Messages postés
183
Date d'inscription
vendredi 2 septembre 2016
Statut
Membre
Dernière intervention
16 janvier 2018
2
Bonjour cs_Le Pivert,
merci pour ta réponse rapide
Avant que tu me répondre je venais tout juste de me souvenir de ce projet qui compare deux répertoires affichés dans deux ListView, que j'ai télécharger il y a longtemps et qui m'a beaucoup plu
désolé mais je n'arrive pas à savoir comment ça fonctionne
j'ai relevé la partie que je veux (enfin je crois):
  Dim d1 As New DirectoryInfo(Lbl_source.Text)
Dim d2 As New DirectoryInfo(Lblcible.Text)
Dim aInfos() As DirectoryInfo = d1.GetDirectories
Dim bInfos() As DirectoryInfo = d2.GetDirectories
Dim dupNames = From a In aInfos Join b In bInfos On a.Name Equals b.Name Select a.Name
For Each dup As String In dupNames
Dim itemA As ListViewItem = ListView1.Items(dup)
Dim itemB As ListViewItem = ListView2.Items(dup)
Dim infoA As FileInfo = CType(itemA.Tag, FileInfo)
Dim infoB As FileInfo = CType(itemB.Tag, FileInfo)
If infoA.Length <> infoB.Length OrElse infoA.LastWriteTime <> infoB.LastWriteTime Then
itemB.ForeColor = Color.Blue
End If
Next
Catch ex As Exception
MessageBox.Show(ex.Message, "Comparer 2 répertoires", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Try

mais comme il utilise File.Name (Répertoire et Fichiers) je ne sais pas comment l'utiliser