# List hierarchy

> [HTML Version](listhierarchy.htm)

_Updated September 2024; see History_

_cformat_ code:  **@**

For multi-level lists, a column must be defined using this type, and must also contain a digit indicating the hierarchical level of each row (0 through 63 with 0 being the top level.) Note that you would almost always want to also use the **H** code to hide this column, otherwise you will have a visible column containing the level indicators. Due to some internal complexities in the control, it may not be possible to hide the first column; to avoid this problem, make sure the **@** column is not the first one defined.

The compound code **@@** may be used in place of just **@** to force the left/right arrow keys to always act as expand/contract/navigate keys, even if the XTF\_LEFT, XTF\_RIGHT, or XTF\_EDITABLE _flags_ are present. See [XTREE Techniques - Mouse and Keyboard](mouse_and_keyboard.md).

Note that in the case of [Property Sheets](xtf2_propsheet.md), '@@' indicates level 2, and the left/right arrow expand/contract is automatically enabled if neither XTF\_LEFT or XTF\_RIGHT is specified.

**History**

2024 September, A-Shell 7.0.1762:  Resolve conflict between the normal list hierarchy '@@' (enabling the use of left/right arrows for expand/contract) and '@@' meaning level 2.

2023 August, A-Shell 1737:  Increase maximum number of multi-level trees from nine to 63.