# MultiColumnTreeViewController

> Multi-column tree view controller. View controllers of this type are meant to take care of data virtualized by any MultiColumnTreeView inheritor.

## Definition

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

```csharp
public abstract class MultiColumnTreeViewController : BaseTreeViewController, IDisposable
```

## Constructors

| Constructor                                                                                                                                                                                                                                                                                | Description                                        |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------- |
| [MultiColumnTreeViewController(UnityEngine.UIElements.Columns,UnityEngine.UIElements.SortColumnDescriptions,System.Collections.Generic.List\{UnityEngine.UIElements.SortColumnDescription})](/engine/6000.0/script-reference/unityengine/uielements/multicolumntreeviewcontroller/ctor.md) | The constructor for MultiColumnTreeViewController. |

## Properties

| Property                                                                                                                     | Description                                                     |
| ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| [columnController](/engine/6000.0/script-reference/unityengine/uielements/multicolumntreeviewcontroller/columncontroller.md) | The column controller, taking care of operations on the header. |

## Methods

| Method                                                                                                     | Description                                                   |
| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| [Dispose](/engine/6000.0/script-reference/unityengine/uielements/multicolumntreeviewcontroller/dispose.md) | Unregisters events and removes the header from the hierarchy. |

## Inheritance

**Inherited Members:**

* [BaseTreeViewController.GetRootItemIds()](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/getrootitemids.md)
* [BaseTreeViewController.GetAllItemIds(IEnumerable\<int>)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/getallitemids.md)
* [BaseTreeViewController.GetParentId(int)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/getparentid.md)
* [BaseTreeViewController.GetChildrenIds(int)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/getchildrenids.md)
* [BaseTreeViewController.Move(int, int, int, bool)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/move.md)
* [BaseTreeViewController.TryRemoveItem(int, bool)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/tryremoveitem.md)
* [BaseTreeViewController.GetTreeItemsCount()](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/gettreeitemscount.md)
* [BaseTreeViewController.HasChildren(int)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/haschildren.md)
* [BaseTreeViewController.Exists(int)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/exists.md)
* [BaseTreeViewController.HasChildrenByIndex(int)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/haschildrenbyindex.md)
* [BaseTreeViewController.GetChildrenIdsByIndex(int)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/getchildrenidsbyindex.md)
* [BaseTreeViewController.GetChildIndexForId(int)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/getchildindexforid.md)
* [BaseTreeViewController.GetIndentationDepth(int)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/getindentationdepth.md)
* [BaseTreeViewController.GetIndentationDepthByIndex(int)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/getindentationdepthbyindex.md)
* [BaseTreeViewController.CanChangeExpandedState(int)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/canchangeexpandedstate.md)
* [BaseTreeViewController.IsExpanded(int)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/isexpanded.md)
* [BaseTreeViewController.IsExpandedByIndex(int)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/isexpandedbyindex.md)
* [BaseTreeViewController.ExpandItemByIndex(int, bool, bool)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/expanditembyindex.md)
* [BaseTreeViewController.ExpandItem(int, bool, bool)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/expanditem.md)
* [BaseTreeViewController.CollapseItemByIndex(int, bool, bool)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/collapseitembyindex.md)
* [BaseTreeViewController.CollapseItem(int, bool, bool)](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/collapseitem.md)
* [BaseTreeViewController.ExpandAll()](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/expandall.md)
* [BaseTreeViewController.CollapseAll()](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/collapseall.md)
* [BaseTreeViewController.baseTreeView](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/basetreeview.md)
* [BaseTreeViewController.itemsSource](/engine/6000.0/script-reference/unityengine/uielements/basetreeviewcontroller/itemssource.md)
* [CollectionViewController.SetItemsSourceWithoutNotify(IList)](/engine/6000.0/script-reference/unityengine/uielements/collectionviewcontroller/setitemssourcewithoutnotify.md)
* [CollectionViewController.SetView(BaseVerticalCollectionView)](/engine/6000.0/script-reference/unityengine/uielements/collectionviewcontroller/setview.md)
* [CollectionViewController.GetItemsCount()](/engine/6000.0/script-reference/unityengine/uielements/collectionviewcontroller/getitemscount.md)
* [CollectionViewController.GetItemForId(int)](/engine/6000.0/script-reference/unityengine/uielements/collectionviewcontroller/getitemforid.md)
* [CollectionViewController.RaiseItemsSourceChanged()](/engine/6000.0/script-reference/unityengine/uielements/collectionviewcontroller/raiseitemssourcechanged.md)
* [CollectionViewController.RaiseItemIndexChanged(int, int)](/engine/6000.0/script-reference/unityengine/uielements/collectionviewcontroller/raiseitemindexchanged.md)
* [CollectionViewController.view](/engine/6000.0/script-reference/unityengine/uielements/collectionviewcontroller/view.md)
* [CollectionViewController.itemsSourceChanged](/engine/6000.0/script-reference/unityengine/uielements/collectionviewcontroller/itemssourcechanged.md)
* [CollectionViewController.itemIndexChanged](/engine/6000.0/script-reference/unityengine/uielements/collectionviewcontroller/itemindexchanged.md)
