Column menu
Every column has a menu. It lives in the header and stays invisible until you want it — click the caret (or press Alt + ↓ with focus on the header). The menu is the per-column counterpart to the global toolbar: sort this column, filter this column, hide this column.
Opening the menu
The menu anchors under the header with a subtle shadow — solid surface, no blur, so the options stay legible even over the grid.
What each section does
Sort
Ascending, descending, or clear. The selected item gets the accent background. Sort also happens on header click — this section is the accessible alternative for keyboard users.
Filter
A single input. Whatever you type narrows this column to matching rows. The hint line shows how many rows match — useful for sanity-checking specificity.
Pin to left
Freezes the column so it stays visible when you scroll horizontally. Pin an id column, scroll all the way right, still know which row you’re on.
Hide column
Removes the column from the view. It’s not destructive — the data is still in the database and can be re-shown from the toolbar’s “Columns” chooser.
Per-type filter hints
The filter input adapts to the column type declared by the backend. The control is the same text box — the placeholder and the hint line change:
| Column type | Placeholder | Examples |
|---|---|---|
| text | contains… | alpha-, manual override |
| integer / numeric | = value or > 10 | 42, > 1000, <= 50 |
| boolean | yes / no | yes, no |
| timestamp | 2026-04-12 | 2026-04, >= 2026-04-01 |
| uuid | prefix… | 7a3f |
Keyboard
- Alt + ↓ — open the menu on the focused header
- ↑ / ↓ — move between items
- Enter — activate the highlighted item
- Esc — close the menu, return focus to the header
No schema tree here
The menu is the only per-column surface. There is no separate “edit column” modal, no schema panel, no type editor. SeeKi is read-only; column metadata is a property of the database, not the product.
Related
- Data grid — the global toolbar’s search and the filter row.
- Yes/No badges — how boolean filters match
yes/no. - NULL rendering — how to filter for empty cells (
is null).