OGE logoOGE

Drag & Drop

Drag a row by its handle and drop it onto another row to move it (and its whole subtree) under a new parent. Dropping a row into its own descendants is rejected automatically.

Every drag has a keyboard twin (WCAG 2.1.1 / 2.5.7): with a cell focused, Ctrl+↑/Ctrl+↓ move the row among its siblings, Ctrl+→ indents it under the previous sibling and Ctrl+← outdents it to its parent's level. The move runs the same drop path and fires the same reparent event, the focus stays on the row, and a polite live region announces its new level and position.

rowDragging rowReparented
reparenting descendant guard
Name
Title
Office
Grace Liskov
CEO
Ankara
Alan Ritchie
VP
İzmir
Edsger Lovelace
Director
Berlin
Barbara Dijkstra
Engineer
London
Donald Hamilton
Engineer
İstanbul
Margaret Hejlsberg
Engineer
Ankara
Dennis Turing
Engineer
İzmir
Bjarne Knuth
Director
Berlin
Anders Stroustrup
Engineer
London
Ada Hopper
Engineer
İstanbul
Grace Liskov
Engineer
Ankara
Alan Ritchie
Engineer
İzmir
Edsger Lovelace
VP
Berlin
Barbara Dijkstra
Director
London
Donald Hamilton
Engineer
İstanbul
Margaret Hejlsberg
Engineer
Ankara
Dennis Turing
Engineer
İzmir
Bjarne Knuth
Engineer
Berlin
Anders Stroustrup
Director
London
Ada Hopper
Engineer
İstanbul
Grace Liskov
Engineer
Ankara
Alan Ritchie
Engineer
İzmir
Edsger Lovelace
Engineer
Berlin
Barbara Dijkstra
VP
London
Donald Hamilton
Director
İstanbul
Margaret Hejlsberg
Engineer
Ankara
Dennis Turing
Engineer
İzmir
Bjarne Knuth
Engineer
Berlin
Anders Stroustrup
Engineer
London
Ada Hopper
Director
İstanbul
Grace Liskov
Engineer
Ankara
Alan Ritchie
Engineer
İzmir
Edsger Lovelace
Engineer
Berlin
Barbara Dijkstra
Engineer
London

Notes

  • Plain-array data is updated in place (the parent field is rewritten); with a DataSource, handle rowReparented and persist the move yourself.
  • The new parent expands automatically so the dropped row stays visible.
  • State persistence (stateKey) also captures the expansion produced by moves.