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:
En voor omlaag probeer ik gewoon het tegen over gestelde:
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:
Ik mag aannemen dat deze code niet de index'en verkeerd doorgeeft, aangezien bij het omhoog schuiven dezelfde soort code geen probleem geeft?!
Iemand een idee wat er fout gaat?:thumb:
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
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: