# DefaultTreeViewController<T>

> Default implementation of a TreeViewController.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.UIElements](/engine/6000.7/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule
* **Inherits from:** [TreeViewController](/engine/6000.7/script-reference/unityengine/uielements/treeviewcontroller.md)
* **Implements:** [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable)

```csharp
public class DefaultTreeViewController<T> : TreeViewController, IDisposable
```

## Methods

| Method                                                                                                                                          | Description                                                    |
| ----------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| [GetDataForId](/engine/6000.7/script-reference/unityengine/uielements/defaulttreeviewcontroller1/getdataforid.md)                               | Gets data for the specified TreeView item ID.                  |
| [GetDataForIndex](/engine/6000.7/script-reference/unityengine/uielements/defaulttreeviewcontroller1/getdataforindex.md)                         | Gets data for the specified TreeView item index.               |
| [GetTreeViewItemDataForId](/engine/6000.7/script-reference/unityengine/uielements/defaulttreeviewcontroller1/gettreeviewitemdataforid.md)       | Gets the tree item data for the specified TreeView item ID.    |
| [GetTreeViewItemDataForIndex](/engine/6000.7/script-reference/unityengine/uielements/defaulttreeviewcontroller1/gettreeviewitemdataforindex.md) | Gets the tree item data for the specified TreeView item index. |
| [SetRootItems](/engine/6000.7/script-reference/unityengine/uielements/defaulttreeviewcontroller1/setrootitems.md)                               | Sets the root items.                                           |

## Inheritance

**Inherited Members:**

* [TreeViewController.treeView](/engine/6000.7/script-reference/unityengine/uielements/treeviewcontroller/treeview.md)
* [BaseTreeViewController.GetRootItemIds()](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/getrootitemids.md)
* [BaseTreeViewController.GetAllItemIds(IEnumerable\<int>)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/getallitemids.md)
* [BaseTreeViewController.GetParentId(int)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/getparentid.md)
* [BaseTreeViewController.GetChildrenIds(int)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/getchildrenids.md)
* [BaseTreeViewController.Move(int, int, int, bool)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/move.md)
* [BaseTreeViewController.TryRemoveItem(int, bool)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/tryremoveitem.md)
* [BaseTreeViewController.GetTreeItemsCount()](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/gettreeitemscount.md)
* [BaseTreeViewController.GetIndexForId(int)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/getindexforid.md)
* [BaseTreeViewController.GetIdForIndex(int)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/getidforindex.md)
* [BaseTreeViewController.HasChildren(int)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/haschildren.md)
* [BaseTreeViewController.Exists(int)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/exists.md)
* [BaseTreeViewController.HasChildrenByIndex(int)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/haschildrenbyindex.md)
* [BaseTreeViewController.GetChildrenIdsByIndex(int)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/getchildrenidsbyindex.md)
* [BaseTreeViewController.GetChildIndexForId(int)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/getchildindexforid.md)
* [BaseTreeViewController.GetIndentationDepth(int)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/getindentationdepth.md)
* [BaseTreeViewController.GetIndentationDepthByIndex(int)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/getindentationdepthbyindex.md)
* [BaseTreeViewController.CanChangeExpandedState(int)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/canchangeexpandedstate.md)
* [BaseTreeViewController.IsExpanded(int)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/isexpanded.md)
* [BaseTreeViewController.IsExpandedByIndex(int)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/isexpandedbyindex.md)
* [BaseTreeViewController.ExpandItemByIndex(int, bool, bool)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/expanditembyindex.md)
* [BaseTreeViewController.ExpandItem(int, bool, bool)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/expanditem.md)
* [BaseTreeViewController.CollapseItemByIndex(int, bool, bool)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/collapseitembyindex.md)
* [BaseTreeViewController.CollapseItem(int, bool, bool)](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/collapseitem.md)
* [BaseTreeViewController.ExpandAll()](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/expandall.md)
* [BaseTreeViewController.CollapseAll()](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/collapseall.md)
* [BaseTreeViewController.baseTreeView](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/basetreeview.md)
* [BaseTreeViewController.itemsSource](/engine/6000.7/script-reference/unityengine/uielements/basetreeviewcontroller/itemssource.md)
* [CollectionViewController.SetItemsSourceWithoutNotify(IList)](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/setitemssourcewithoutnotify.md)
* [CollectionViewController.SetView(BaseVerticalCollectionView)](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/setview.md)
* [CollectionViewController.PrepareView()](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/prepareview.md)
* [CollectionViewController.Dispose()](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/dispose.md)
* [CollectionViewController.GetItemsCount()](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/getitemscount.md)
* [CollectionViewController.GetItemForIndex(int)](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/getitemforindex.md)
* [CollectionViewController.MakeItem()](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/makeitem.md)
* [CollectionViewController.BindItem(VisualElement, int)](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/binditem.md)
* [CollectionViewController.UnbindItem(VisualElement, int)](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/unbinditem.md)
* [CollectionViewController.DestroyItem(VisualElement)](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/destroyitem.md)
* [CollectionViewController.RaiseItemsSourceChanged()](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/raiseitemssourcechanged.md)
* [CollectionViewController.RaiseItemIndexChanged(int, int)](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/raiseitemindexchanged.md)
* [CollectionViewController.view](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/view.md)
* [CollectionViewController.itemsSourceChanged](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/itemssourcechanged.md)
* [CollectionViewController.itemIndexChanged](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/itemindexchanged.md)
