# Variables: Sorting & reordering

> Sort once, keep sorted, or drag — every move animates on air.

Glider documentation · Data · Web page: https://cgglider.com/docs/variables/sorting/

Sections of this page: [Overview](https://cgglider.com/docs/variables.md) · [Lists from a design](https://cgglider.com/docs/variables/lists.md) · [List container](https://cgglider.com/docs/variables/list-container.md) · [Binding to lists](https://cgglider.com/docs/variables/binding.md) · [Sorting & reordering](https://cgglider.com/docs/variables/sorting.md) · [Row motion](https://cgglider.com/docs/variables/motion.md) · [Maps & single values](https://cgglider.com/docs/variables/maps-values.md) · [Remote control](https://cgglider.com/docs/variables/remote.md)

| Control | What it does |
| --- | --- |
| Sort by + direction | Chooses the field and the direction (high → low for scores). |
| Sort now | Sorts the rows once. Later changes do not re-sort. |
| Keep sorted | Keeps the list sorted as values change: raise a score and the row climbs. Ties keep their order. |
| Column header | Sorts by that column (click again to flip the direction). |
| Drag the ⋮⋮ handle | Moves a row by hand. If Keep sorted is on, it turns off first and the order on air is kept, so nothing else jumps. |
| Alt + ↑ / ↓ | Moves the focused row one place. |
| − / + | Score steppers on every number cell — one press, one point. |

On the output, every row keeps its own element through a sort and glides from its old place to its new one. Rows that are added fade (or slide) in; rows that are removed fade (or slide) out. A whole graphic taken on or off air is animated by its own clips, not by these row effects.

> **Smooth on air:** Row motion runs on the GPU and never fights a playing clip: it moves a wrapper the animation engine does not touch.
