Supprimer les items qui existe dans deux ListView

Résolu
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 - 8 déc. 2016 à 10:29
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 - 8 déc. 2016 à 12:35
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

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
8 déc. 2016 à 12:02
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

1
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 2
8 déc. 2016 à 12:35
Merci beaucoup cs_Le Pivert le problème est résolu
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
8 déc. 2016 à 10:44
Bonjour,

Tu trouveras tout ce dont tu as besoin ici:

http://codes-sources.commentcamarche.net/source/101479-comparer-2-repertoires
0
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 2
8 déc. 2016 à 11:14
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
0
Rejoignez-nous