Hallo Experten,
ich habe da ein Problem:
Ich habe auf einer Form ein DataGridView-Control eingebaut.
Nach vielen vielen Versuchen schaffe ich auch, das DGV mit Text-Inhalten zu füllen (es wird nicht von einer Datenbank versorgt, sondern mit Texten aus einer Textdatei gefüllt).
Nun bräuchte ich eine Möglichkeit, die Reihenfolge der Zeilen zu verändern, also per Button die selektierte Zeile wahlweise 1 hoch, 1 runter, ganz nach oben oder ganz nach unten zu verschieben.
Dazu will ich mit InsertCopy eine Kopie der selektierten Zeile an der neuen Stelle erstellen und dann die selektiert Zeile löschen.
Das sieht bei mir bisher so aus:
Private Sub btnUp\_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUp.Click
Dim Ind As Integer
'Eintrag eine Zeile nach oben verschieben
Ind = DataGridView.CurrentCell.RowIndex
If Ind = 0 Then Exit Sub
DataGridView.Rows.InsertCopy(Ind, Ind -1)
DataGridView.Rows.Remove(DataGridView.Rows(Ind + 1))
End Sub
Problem:
Mit DataGridView.Rows.InsertCopy(Ind, Ind) sollte eine Kopie der selektieren Zeile an derselben Stelle eingefügt werden, alle nachfolgenden Zeilen (incl. der selectierten) werden um 1 nach unten geschoben.
Tatsächlich wird hier eine leer Zeile eingefügt, nicht die gewünschte Kopie.
Kann mir jemand sagen, was ich hier falsch mache? Warum funktioniert das InsertCopy nicht?
Ciao und danke im Voraus
Klaus