vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Ein- und Umsteiger
Re: EINFACHES Beispiel für Item-Positionstausch bei einer Liste 
Autor: Manfred X
Datum: 23.07.14 22:48

Hier der Code zum Tausch von zwei Datensätzen
über Zugriff per Bindingsource:
Public Class frmDGVSwap2
 
    'Datenklasse mit Vergleichs-Schnittstelle für Sortieren
    Private Class data
        Public Property Daten As String
    End Class
 
    'Liste, Bindung und Control
    Dim lst As New List(Of Data)
    Dim bs As New BindingSource With {.RaiseListChangedEvents = True}
    Dim WithEvents dgv As New DataGridView With {.Parent = Me, .DataSource = bs}
 
 
    Private Sub frmDGVSwap_Load(sender As System.Object, _
                        e As System.EventArgs) Handles MyBase.Load
 
        'Testdaten
        For i As Integer = 0 To 99
            lst.Add(New data With {.Daten = "Satz " & CStr(i)})
        Next i
 
        'Datenbindung
        bs.DataSource = lst
 
        dgv.AllowUserToAddRows = False
    End Sub
 
 
    Dim swapindex As Integer = -1
 
    Private Sub dgv_RowHeaderMouseClick(sender As Object, _
                        e As _
                        System.Windows.Forms.DataGridViewCellMouseEventArgs) _
                    Handles dgv.RowHeaderMouseClick
 
        'Rechtsclick auf den Rowheader markiert ein Item für den 
        ' Positions-Tausch
        'Rechtsclick auf ein weiteres Item führt den Tausch durch
        'Rechtsclick auf markiertes Item hebt Markierung auf
 
        If e.RowIndex = -1 Then
            If Not swapindex = -1 Then
                dgv.Rows(swapindex).DefaultCellStyle.BackColor = Color.White
                swapindex = -1
            End If
            Exit Sub
        End If
 
        If e.Button = MouseButtons.Right Then
            If swapindex = -1 Then
                'Erster Click Index merken
                swapindex = e.RowIndex
                dgv.Rows(swapindex).DefaultCellStyle.BackColor = _
                  Color.LightGreen
            ElseIf swapindex = e.RowIndex Then
                'Aufheben bei erneutem Click
                dgv.Rows(swapindex).DefaultCellStyle.BackColor = Color.White
                swapindex = -1
            Else
 
                'Referenzen auf Datensätze besorgen
                Dim dt1 As data = CType(bs(e.RowIndex), data)
                Dim dt2 As data = CType(bs(swapindex), data)
 
                bs.RemoveAt(e.RowIndex)
                bs.Insert(e.RowIndex, dt2)
 
                bs.RemoveAt(swapindex)
                bs.Insert(swapindex, dt1)
 
                dgv.Rows(swapindex).DefaultCellStyle.BackColor = Color.White
                swapindex = -1
 
            End If
        End If
    End Sub
 
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DataGridView und BindingSource...8.887Legend_X19.07.14 17:24
Re: DataGridView und BindingSource...7.672effeff19.07.14 18:38
Re: DataGridView und BindingSource...7.600ErfinderDesRades19.07.14 20:03
EINFACHES Beispiel (Bindinglist)7.641Manfred X20.07.14 04:53
Re: EINFACHES Beispiel (Bindinglist)7.973Legend_X20.07.14 12:42
Re: EINFACHES Beispiel (Bindinglist)7.619Manfred X20.07.14 13:42
Re: EINFACHES Beispiel (Bindinglist)7.607Legend_X20.07.14 18:05
Re: EINFACHES Beispiel (Bindinglist)7.720ErfinderDesRades20.07.14 18:13
Re: EINFACHES Beispiel (Bindinglist)7.676Manfred X20.07.14 20:04
Re: EINFACHES Beispiel (Bindinglist)7.774Legend_X23.07.14 04:09
Re: EINFACHES Beispiel für Item-Positionstausch bei einer Li...7.636Manfred X23.07.14 18:15
Re: EINFACHES Beispiel für Item-Positionstausch bei einer Li...7.474Legend_X23.07.14 20:36
Re: EINFACHES Beispiel für Item-Positionstausch bei einer Li...7.532Manfred X23.07.14 21:01
Re: EINFACHES Beispiel für Item-Positionstausch bei einer Li...7.503Legend_X23.07.14 21:29
Re: EINFACHES Beispiel für Item-Positionstausch bei einer Li...7.681Manfred X23.07.14 22:07
Re: EINFACHES Beispiel für Item-Positionstausch bei einer Li...7.739Legend_X23.07.14 22:37
Re: EINFACHES Beispiel für Item-Positionstausch bei einer Li...7.656Manfred X23.07.14 22:48
Re: EINFACHES Beispiel für Item-Positionstausch bei einer Li...7.505Legend_X23.07.14 23:30
Re: EINFACHES Beispiel für Item-Positionstausch bei einer Li...7.601Manfred X24.07.14 00:01
Re: EINFACHES Beispiel für Item-Positionstausch bei einer Li...7.601Legend_X24.07.14 04:10
Re: EINFACHES Beispiel für Item-Positionstausch bei einer Li...7.618Manfred X24.07.14 14:10
Re: EINFACHES Beispiel für Item-Positionstausch bei einer Li...7.490Legend_X24.07.14 15:06
EINFACHES Beispiel für sortierbare Datenklasse8.039Manfred X24.07.14 16:20

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-2025 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