Drag and Drop in Listview mit Gruppen

Outsider77

Erfahrenes Mitglied
Hallo zusammen,

für Drag and Drop innerhalb eines Listview habe ich mir diesen Tipp zu Nutze gemacht.
Jetzt möchte ich allerdings die selbe Funktionalität für ein Listview mit Gruppen nutzen.
Kann mir bitte jemand einen Denkanstoß geben! Ich tüftle schon seit einigen Tagen daran und komme nicht weiter.
Ich sollte noch erwähnen, dass es sich bei den Gruppen um Benutzer-Gruppen handelt.
Es ist also unerheblich, ob innerhalb einer Gruppe verschoben wurde.
Ich hatte es mir theoretisch in etwa so zurechtgelegt:
Beim Drag des Item die "Ursprungs-Gruppe" herausfinden und wenn beim Drop die "Ziel-Gruppe" ungleich der "Ursprungs-Gruppe ist, dann fallen lassen.
Danke!

Gruß Outi

Edit:
Ich habe jetzt eine relativ einfache Lösung gefunden.

Visual Basic:
Private lviDraggedItem As ListViewItem

Private Sub ListView1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListView1.DragEnter
        e.Effect = DragDropEffects.Move
End Sub

Private Sub ListView1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListView1.DragDrop

        Dim htInfo As ListViewHitTestInfo = ListView1.HitTest(ListView1.PointToClient(New Point(e.X, e.Y)))
        Dim lviSibling As ListViewItem = htInfo.Item

        If lviSibling Is Nothing Then Exit Sub
        Dim lvgGroup As ListViewGroup = lviSibling.Group

        lvgGroup.Items.Add(lviDraggedItem)
         lviDraggedItem = Nothing

End Sub

Private Sub ListView1_ItemDrag(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles ListView1.ItemDrag

        lviDraggedItem = e.Item
        ListView1.DoDragDrop(ListView1.SelectedItems, DragDropEffects.Move)

End Sub
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück