tree_grid
A tree. Type is tree_grid. The shape matches data_grid: Component, Toolbar, and Grid. Lowercase keys in Option.Grid are dxTreeList options. The parent field is usually parentIdExpr together with keyExpr.
Component uses the same LoadSql, InsertRowSql, UpdateRowSql, and DeleteRowSql. Button names are the same set as the grid.
Where it differs from a grid
The query result has to include roots. Leaves alone leave the tree without a top. Keep a column that identifies the root (for example root, or an equivalent root id), plus id and parent_id (or path). When a parent is missing from the result, the engine inserts a root stub.
Group rows use Component.Folder:
| Key | Meaning |
|---|---|
Field | Which field marks this row as a group row |
Expr | Or an expression that decides it |
TrueValue / FalseValue | Values of Field that mean group row and normal row |
OnlyEditableFields | Columns that stay editable on a group row |
ReadOnlyFields | Columns that are read-only on a group row |
AddFolder, ExpandAll, CollapseAll, MoveUp, and MoveDown on the toolbar are for the tree. MoveUp and MoveDown use Component.SeqField.