Listview items wisselen

Status
Niet open voor verdere reacties.

SuperABC

Gebruiker
Lid geworden
16 jul 2009
Berichten
327
Hoi,

Ik heb een aantal items in mijn listview, alle geselecteerde items gaan met de volgende code 1 plaats omhoog. Geselecteerde items passeren elkaar nooit...
Nu probeer ik hetzelfde principe om alle item één plaats omlaag te schijven, zonder dat geselecteerde items elkaar passeren:

Alles geselecteerde items 1 omhoog:

Code:
                For X As Integer = 0 To ListView_Fs.SelectedIndices.Count - 1 Step +1
                    If ListView_Fs.SelectedIndices.Item(X) < 1 + X Then
                    Else

                        Dim Selected_Item As ListViewItem = ListView_Fs.Items.Item(ListView_Fs.SelectedIndices.Item(X)).Clone
                        Dim Item_ToMove As ListViewItem

                        Dim A As Integer = ListView_Fs.SelectedIndices.Item(X)

                        Item_ToMove = ListView_Fs.Items(ListView_Fs.SelectedIndices.Item(X) - 1).Clone

                        ListView_Fs.Items(ListView_Fs.SelectedIndices.Item(X) - 1) = Selected_Item.Clone
                        ListView_Fs.Items(ListView_Fs.SelectedIndices.Item(X)) = Item_ToMove.Clone

                        ListView_Fs.Items(A - 1).Selected = True
                    End If
                Next

En voor omlaag probeer ik gewoon het tegen over gestelde:

Code:
For X As Integer = 0 To ListView_Fs.SelectedIndices.Count - 1 Step +1
                    If ListView_Fs.SelectedIndices.Item(X) >= (ListView_Fs.Items.Count - 1) - X Then
                    Else

                        Dim Selected_Item As ListViewItem = ListView_Fs.Items.Item(ListView_Fs.SelectedIndices.Item(X)).Clone
                        Dim Item_ToMove As ListViewItem

                        Dim A As Integer = ListView_Fs.SelectedIndices.Item(X)

                        Item_ToMove = ListView_Fs.Items(ListView_Fs.SelectedIndices.Item(X) + 1).Clone

                        ListView_Fs.Items(ListView_Fs.SelectedIndices.Item(X) + 1) = Selected_Item.Clone
                        ListView_Fs.Items(ListView_Fs.SelectedIndices.Item(X)) = Item_ToMove.Clone

                        ListView_Fs.Items(A + 1).Selected = True
                    End If
                Next

Ik heb al verschillende dingen voor omlaag geprobeert, of de Index van SelectedIndices is out of range, of er is nog wat anders... Maar ik snap niet wat er nu in de 2e code fout zit...
Het aantal geselecteerde items voor het verschuiven is gelijk aan het geselecteerde aantal items na het verschuiven met behulp van:

Code:
ListView_Fs.Items(A + 1).Selected = True
Ik mag aannemen dat deze code niet de index'en verkeerd doorgeeft, aangezien bij het omhoog schuiven dezelfde soort code geen probleem geeft?!

Code:
                        ListView_Fs.Items(ListView_Fs.SelectedIndices.Item(X) + 1) = Selected_Item.Clone
                        ListView_Fs.Items(ListView_Fs.SelectedIndices.Item(X)) = Item_ToMove.Clone


Iemand een idee wat er fout gaat?:thumb:
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan