# BaseListViewController

> Base collection list view controller. View controllers of this type are meant to take care of data virtualized by any BaseListView inheritor.

## Definition

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

```csharp
public abstract class BaseListViewController : CollectionViewController, IDisposable
```

## Properties

| Property                                                                                                      | Description                                                                                                                 |
| ------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| [baseListView](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/baselistview.md) | View for this controller, cast as a [BaseListView](/engine/6000.7/script-reference/unityengine/uielements/baselistview.md). |

## Methods

| Method                                                                                                                    | Description                                                                                                                                            |
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [AddItems](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/additems.md)                     | Adds a certain amount of items at the end of the collection.                                                                                           |
| [ClearItems](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/clearitems.md)                 | Removes all items from the source.                                                                                                                     |
| [Move](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/move.md)                             | Moves an item in the source.                                                                                                                           |
| [NeedsDragHandle](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/needsdraghandle.md)       | Returns whether this item needs a drag handle or not with the Animated drag mode.                                                                      |
| [RaiseItemsAdded](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/raiseitemsadded.md)       | Invokes the [\_itemsAdded](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/itemsadded.md) event.                         |
| [RaiseItemsRemoved](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/raiseitemsremoved.md)   | Invokes the [\_itemsRemoved](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/itemsremoved.md) event.                     |
| [RaiseOnSizeChanged](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/raiseonsizechanged.md) | Invokes the [\_itemsSourceSizeChanged](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/itemssourcesizechanged.md) event. |
| [RemoveItem](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/removeitem.md)                 | Removes an item from the source, by index.                                                                                                             |
| [RemoveItems](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/removeitems.md)               | Removes items from the source, by indices.                                                                                                             |

## Events

| Member                                                                                                                            | Description                                                                                                                                              |
| --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [itemsAdded](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/itemsadded.md)                         | Raised when an item is added to the [\_itemsSource](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/itemssource.md).     |
| [itemsRemoved](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/itemsremoved.md)                     | Raised when an item is removed from the [\_itemsSource](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/itemssource.md). |
| [itemsSourceSizeChanged](/engine/6000.7/script-reference/unityengine/uielements/baselistviewcontroller/itemssourcesizechanged.md) | Raised when the [\_itemsSource](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/itemssource.md) size changes.            |

## Inheritance

**Inherited Members:**

* [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.GetIndexForId(int)](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/getindexforid.md)
* [CollectionViewController.GetIdForIndex(int)](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/getidforindex.md)
* [CollectionViewController.GetItemForIndex(int)](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/getitemforindex.md)
* [CollectionViewController.GetItemForId(int)](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/getitemforid.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.itemsSource](/engine/6000.7/script-reference/unityengine/uielements/collectionviewcontroller/itemssource.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)
