vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Drag Drop Zeilen von Datagridview in Datagridview 
Autor: Dideldum
Datum: 02.04.23 22:31

Hab's hinbekommen:

für das Treeview trv_Folders (Eigenschaft des Controls "AllowDrop" auf true setzen):

    Private Sub trv_Folders_DragEnter(sender As Object, e As DragEventArgs) _
      Handles trv_Folders.DragEnter
        If e.Data.GetDataPresent(DataFormats.FileDrop) Then
            'There Is File - Allow copy.
            e.Effect = DragDropEffects.Copy
        Else
            'There Is no file - Prohibit drop.
            e.Effect = DragDropEffects.None
        End If
    End Sub
 
    Private Sub trv_Folders_DragDrop(sender As Object, e As DragEventArgs) _
      Handles trv_Folders.DragDrop
        If e.Data.GetDataPresent(DataFormats.FileDrop, True) = True Then
 
            Dim p As Point = trv_Folders.PointToClient(New Point(e.X, e.Y)) ' 
            ' so klappt es
            Dim dragIndex As TreeNode = trv_Folders.HitTest(p.X, p.Y).Node
 
            If dragIndex IsNot Nothing Then
                objekteEntladen()
                Objekt_Kopieren()
                trv_Folders.SelectedNode = dragIndex
                ordnerPfad = trv_Folders.SelectedNode.FullPath
                auswahl_Ordner(ordnerPfad, My.Settings.Programm_Expertenansicht)
                ausschneidenFlag = True ' Löscht nach dem erfolgreichen 
                ' Einfügen die Quelldateien
                Objekt_Einfügen()
            End If
        End If
    End Sub
Und für das Datagrid dgv_Folders (Eigenschaft des Controls "AllowDrop" auf true setzen):

    Private Sub dgv_Folders_DragEnter(sender As Object, e As DragEventArgs) _
      Handles dgv_Folders.DragEnter
        If e.Data.GetDataPresent(DataFormats.FileDrop) Then
            e.Effect = DragDropEffects.Copy
        Else
            e.Effect = DragDropEffects.None
        End If
    End Sub
 
    Private Sub dgv_Folders_DragDrop(sender As Object, e As DragEventArgs) _
      Handles dgv_Folders.DragDrop
 
        If e.Data.GetDataPresent(DataFormats.FileDrop, True) = True Then
 
            Dim p As Point = dgv_Folders.PointToClient(New Point(e.X, e.Y)) ' 
            ' So klappt es
            Dim dragIndex = dgv_Folders.HitTest(p.X, p.Y).RowIndex
 
            If dragIndex - 1 Then
                objekteEntladen()
                Objekt_Kopieren()
                ordnerPfad = IO.Path.Combine(aktivesArchivPfad, _
                  dgv_Folders.Rows(dragIndex).Cells(0).Value)
                auswahl_Ordner(ordnerPfad, My.Settings.Programm_Expertenansicht)
                ausschneidenFlag = True ' Löscht nach dem erfolgreichen 
                ' Einfügen die Quelldateien
                Objekt_Einfügen()
            End If
        End If
    End Sub
Aber was stimmt mit dem folgenden Code nicht?

Dim dragIndex As TreeNode = trv_Folders.GetNodeAt(e.X, e.Y)
Im Mouseclick funktioniert der Code, aber nicht im DragDrop, obwohl ich hier auch die e.X und e.Y-Koordinaten bekomme.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Drag Drop Zeilen von Datagridview in Datagridview279Dideldum26.03.23 23:30
Re: Drag Drop Zeilen von Datagridview in Datagridview120Dideldum02.04.23 22:31

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel