none
Zeile in einem Datagridview verschieben RRS feed

  • Frage

  • Hallo,<o:p></o:p>

    ich möchte in meinem in
    VB2008 geschriebenen Programm eine Zeile in einem gebundenen(!!!) Datagridview
    verschieben. Die gebundene Datatable ist nach Spalte "Spalte1"
    sortiert, die die Nummern der Zeilen von 0 bis n enthält. Um eine Zeile zu
    verschieben ändere ich die Zeilennummer in der selektierten Zeile, sowie in der
    darunter bzw. darüber liegenden Zeile, je nach dem, ob die Zeile nach oben oder
    nach unten verschoben werden soll. Leider passieren dabei immer wieder ganz merkwürdige
    Dinge, z.B. dass Änderung nur beim ersten aber nicht beim zweiten Verschieben
    richtig funktioniert oder dass die Zeilen falsch sortiert werden etc...<o:p></o:p>

    Weiß jemand eine einfache
    Methode, wie ich die eigentlich simple Aufgabe bewerkstelligen kann???<o:p></o:p>

    Gruß<o:p></o:p>

    Christoph <o:p></o:p>


    Donnerstag, 22. Mai 2014 07:40

Antworten

  • Hi Christoph,
    der folgende Code zeigt, dass es problemlos und richtig funktioniert. Da es bei Dir nicht richtig funktioniert, wird in Deiner Realisierung ein logischer Fehler sein.

    Public Class Form1
    
      Private dt As New DataTable
      Private bs As New BindingSource With {.DataSource = dt}
      Private dgv As New DataGridView With {.DataSource = bs, .Dock = DockStyle.Fill}
    
      Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.Controls.Add(dgv)
        GetData()
        bs.Sort = "Spalte1"
      End Sub
    
      Private Sub GetData()
        With dt
          With .Columns
            .Add("Spalte1", GetType(Integer))
            .Add("Spalte2", GetType(String))
          End With
          For i = 1 To 10
            Dim r = .NewRow
            r(0) = i
            r(1) = "Zeile " & i.ToString
            .Rows.Add(r)
          Next
        End With
      End Sub
    End Class

    --
    Peter

    • Als Antwort markiert Ionut Duma Dienstag, 10. Juni 2014 09:34
    Donnerstag, 22. Mai 2014 14:10