# Angular TreeList Row Reordering

The row reordering feature of the [Angular TreeList](https://www.telerik.com/kendo-angular-ui-develop/components/treelist) enables you to rearrange rows by dragging them with the mouse. By default, row reordering is disabled.

## Using a Specified Handle

To enable row reordering in the TreeList:

1. Set the [`rowReorderable`](https://www.telerik.com/kendo-angular-ui-develop/components/treelist/api/treelistcomponent#rowreorderable) property of the TreeList to `true`.
2. Define a [`RowReorderColumn`](https://www.telerik.com/kendo-angular-ui-develop/components/treelist/api/rowreordercolumncomponent) by using the `<kendo-treelist-rowreorder-column>` tag. It will hold the dedicated drag handle for row reordering.

> When the TreeList data is bound using the [`FlatBindingDirective`](https://www.telerik.com/kendo-angular-ui-develop/components/treelist/api/flatbindingdirective) or the [`HierarchyBindingDirective`](https://www.telerik.com/kendo-angular-ui-develop/components/treelist/api/hierarchybindingdirective), all data updates related to row reordering will be handled automatically.

The following example demonstrates how to drag and drop a row by using the [`FlatBindingDirective`](https://www.telerik.com/kendo-angular-ui-develop/components/treelist/api/flatbindingdirective).

[Demo Source](https://demos.telerik.com/kendo-angular-ui/demos/treelist/row-reordering/flat/source.txt)

## Known Limitations

* Row reordering does not work with sorting as both functionalities are mutually exclusive.

## Suggested Links

* [`RowReorderColumnComponent`](https://www.telerik.com/kendo-angular-ui-develop/components/treelist/api/rowreordercolumncomponent)
* [API Reference of the `TreeListComponent`](https://www.telerik.com/kendo-angular-ui-develop/components/treelist/api/treelistcomponent)
* [API Index of the TreeList](https://www.telerik.com/kendo-angular-ui-develop/components/treelist/api)
