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.
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: