1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
Private Sub TsBtnMoveUp_Click(sender As System.Object, e As System.EventArgs) Handles TsBtnMoveUp.Click
' Déplacement vers le haut
MoveListViewItem(LvMain, True)
End Sub
Private Sub TsBtnMoveDown_Click(sender As System.Object, e As System.EventArgs) Handles TsBtnMoveDown.Click
' Déplacement vers le bas
MoveListViewItem(LvMain, False)
End Sub
Private Sub MoveListViewItem(ByRef lv As ListView, moveUp As Boolean)
Dim i%
Dim cache$
Dim selIdx%
With lv
selIdx = .SelectedItems.Item(0).Index
If moveUp Then
' On ignore le mouvement vers le haut car l'index est égal à zéro
If selIdx = 0 Then Exit Sub
For i = 0 To .Items(selIdx).SubItems.Count - 1
cache = .Items(selIdx - 1).SubItems(i).Text
.Items(selIdx - 1).SubItems(i).Text = .Items(selIdx).SubItems(i).Text
.Items(selIdx).SubItems(i).Text = cache
Next
.Items(selIdx - 1).Selected = True
.Refresh()
.Focus()
If selIdx = 1 Then
' On passe le bouton permettant de naviguer vers le haut à l'état Disabled
TsBtnMoveUp.Enabled = False
End If
Else
' On ignore le mouvement vers le bas car l'index égal au nomlbre d'éléments présents dans le listview
If selIdx = .Items.Count - 1 Then Exit Sub
For i = 0 To .Items(selIdx).SubItems.Count - 1
cache = .Items(selIdx + 1).SubItems(i).Text
.Items(selIdx + 1).SubItems(i).Text = .Items(selIdx).SubItems(i).Text
.Items(selIdx).SubItems(i).Text = cache
Next
.Items(selIdx + 1).Selected = True
.Refresh()
.Focus()
If selIdx = .Items.Count - 2 Then
' On passe le bouton permettant de naviguer vers le bas à l'état Disabled
TsBtnMoveDown.Enabled = False
End If
End If
End With
End Sub |