DataGridView Zeile verschieben
-
Guten Tag!
Durch einen Button-Click (Up/Down) können Zeilen im Datagridview verschoben werden.
Einmalig klappt das auch gut, nur sobald ein zweites Mal hintereinander der Up oder Down-Button geklickt wird (OHNE zuvor wieder eine Zeile im Grid anzuklicken) wird nichts mehr verschoben bzw.grid.CurrentCell.RowIndex
gibt null zurück.
void indexUp(DataGridView dg) { DataGridView grid = dg; try { int idx = grid.SelectedCells[0].OwningRow.Index; if (idx == 0) return; if (idx >= 1) { int idUeberIdx = Convert.ToInt32(grid[0, grid.CurrentCell.RowIndex - 1].Value); // hier tritt beim erneuten klick null auf. // Update in DB. int idIdx = Convert.ToInt32(grid[0, grid.CurrentCell.RowIndex].Value); // Update in DB. GridNeuLaden(); grid.ClearSelection(); grid.Rows[idx - 1].Selected = true; } } catch { } }
Die richtige Zeile bleibt zwar markiert, dennoch ist der Wert null.
Wie kann ich die Selection anderst/richtig zuweisen?
Danke für Eure Hilfe!
-
Kannst mal das noch einfügen:
grid.CurrentCell = grid.Rows[idx-1].Cells[0];
-
Perfekt, danke!