Compare twee listviews

Status
Niet open voor verdere reacties.

bonnowagt

Gebruiker
Lid geworden
7 dec 2006
Berichten
445
Hallo,

Ik heb listveiw1 en listview 2 beiden 1 kolom. Ik wil deze twee boxen met elkaar vergelijken. Bij voorbeeld:

Listview1 staat:

Auto
Fiets
Bromfiets
Motor
Bus

Listview2 staat:
Auto
Motor

Ik zou dan graag deze listviews vergelijken, dus 1 met 2
De items die dan wel in 1 staan en niet 2. overbengen naar Listview3.

Ik heb gegooled en voorbeeldjes gevonden, ermee gespeelt als het ware maar krijg het niet goed

Wie kan mij helpen.

Vr, groet
 
tijdelijke list maken van de items in "1" en dan een foreach op de items uit "2" en uit de tijdelijke lijst verwijderen.

volgende is pseudo code
Code:
tijdelijk.addrange(list1)
for each verwijder in list2
   tijdelijk.remove(verwijder)
next verwijder
list3.addrange(tijdelijk)
 
Bedankt voor je reactie. Ik heb nu de volgende code:
Code:
       tijdelijk.items.addrange(ListView1.Items)
        For Each verwijder In ListView2.Items
            tijdelijk.items.remove(verwijder)
        Next verwijder
        ListView3.Items.AddRange(tijdelijk.Items)

Krijg nu de melding - Kan het item AUTO niet toevoegen op meer dan 1 plaats. U moet het item eerst van de huidge locatie verwijderen of het item kopieren/
 
Welk type is "tijdelijk"? is het een "List" ? Wat zijn de items? Strings? of andere objecten?
 
Even voor de duidelijkheid: hebben we hier het alleen over de "text" property van de items of ook de NAME properties? indien de name properties goed gezet zijn kun je mogelijk een directere route nemen:

Code:
       For Each it As ListViewItem In ListView1.Items
            If ListView2.Items.IndexOfKey(it.Name) = -1 Then
                listbox3.add(it)
            End If
        Next
 
Hallo,

Dat werkte ook niet goed. Heb het nu opgelost op een wat vreemde manier maar werkt wel
Heb een fake label aangemaakt en vervolgens:

Code:
   For ii = 0 To ListView2.Items.Count - 1
            Label1.Text = ListView2.Items(ii).SubItems(0).Text
            afvoer()
        Next
    End Sub
    Sub afvoer()
        For i = 0 To 0
            If Label1.Text <> ListView1.Items(i).SubItems(0).Text Then
                ListView3.Items.Add(Label1.Text)
            End If
        Next
    End Sub

Bednakt voor de reacties.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan