# TreeViewExtensions

Namespace: **Wisej.Web.Markup**

Assembly: **Wisej.Framework** (4.0.0.0)

Adds [fluent markup](https://learn.microsoft.com/en-us/dotnet/communitytoolkit/maui/markup/markup) extension methods to the [TreeView](https://docs.wisej.com/api/wisej.web/lists-and-grids/treeview) class.

{% tabs %}
{% tab title="C#" %}

```csharp
public class TreeViewExtensions
```

{% endtab %}

{% tab title="VB.NET" %}

```visual-basic
Public Class TreeViewExtensions
```

{% endtab %}
{% endtabs %}

## Methods

### ![](https://1075938901-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2HvlWXJQMV7DxhGzw7Y1%2Fuploads%2Fgit-blob-e4f8ed47a52590951f725a10c269555e81d41d81%2Fstatic.png?alt=media) Nodes\<TTreeView>(treeView, nodes)

Adds an array of root nodes to the specified [TreeView](https://docs.wisej.com/api/wisej.web/lists-and-grids/treeview).

| Parameter     | Type                                                                                                    | Description                                                                                                                   |
| ------------- | ------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| **TTreeView** |                                                                                                         | The type of the tree view, which must inherit from [TreeView](https://docs.wisej.com/api/wisej.web/lists-and-grids/treeview). |
| **treeView**  | [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions) | The tree view to which the root nodes will be added.                                                                          |
| **nodes**     | [TreeNode\[\]](https://docs.wisej.com/api/wisej.web/lists-and-grids/treeview/wisej.web.treenode)        | An array of tree nodes to be added as root nodes.                                                                             |

**Returns:** [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions). The tree view with the updated root nodes.

This method allows you to add multiple root nodes to a tree view control.

```csharp

myTreeView.Nodes(new TreeNode("Root1"), new TreeNode("Root2"));

```

### ![](https://1075938901-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2HvlWXJQMV7DxhGzw7Y1%2Fuploads%2Fgit-blob-e4f8ed47a52590951f725a10c269555e81d41d81%2Fstatic.png?alt=media) OnAfterCheck\<TTreeView>(treeView, action)

Extension method to attach an action to the AfterCheck event of a TreeView.

| Parameter     | Type                                                                                                    | Description                                                   |
| ------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| **TTreeView** |                                                                                                         | The type of the TreeView, which must inherit from TreeView.   |
| **treeView**  | [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions) | The TreeView instance to attach the event handler to.         |
| **action**    | [Action\<TTreeView, TreeViewEventArgs>](https://docs.microsoft.com/dotnet/api/system.action-2)          | The action to execute when the AfterCheck event is triggered. |

**Returns:** [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions). The original TreeView instance with the event handler attached.

This method allows you to execute a custom action whenever a node in the TreeView is checked or unchecked.

```csharp

treeView.OnAfterCheck((tv, e) => {
// Custom logic here
});

```

### ![](https://1075938901-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2HvlWXJQMV7DxhGzw7Y1%2Fuploads%2Fgit-blob-e4f8ed47a52590951f725a10c269555e81d41d81%2Fstatic.png?alt=media) OnAfterCollapse\<TTreeView>(treeView, action)

Extension method to attach an action to the AfterCollapse event of a TreeView.

| Parameter     | Type                                                                                                    | Description                                                      |
| ------------- | ------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| **TTreeView** |                                                                                                         | The type of the TreeView, which must inherit from TreeView.      |
| **treeView**  | [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions) | The TreeView instance to attach the event handler to.            |
| **action**    | [Action\<TTreeView, TreeViewEventArgs>](https://docs.microsoft.com/dotnet/api/system.action-2)          | The action to execute when the AfterCollapse event is triggered. |

**Returns:** [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions). The original TreeView instance with the event handler attached.

This method allows you to execute a custom action whenever a node in the TreeView is collapsed.

```csharp

treeView.OnAfterCollapse((tv, e) => {
// Custom logic here
});

```

### ![](https://1075938901-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2HvlWXJQMV7DxhGzw7Y1%2Fuploads%2Fgit-blob-e4f8ed47a52590951f725a10c269555e81d41d81%2Fstatic.png?alt=media) OnAfterExpand\<TTreeView>(treeView, action)

Attaches an action to be executed after a node is expanded in the [TreeView](https://docs.wisej.com/api/wisej.web/lists-and-grids/treeview).

| Parameter     | Type                                                                                                    | Description                                     |
| ------------- | ------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| **TTreeView** |                                                                                                         | The type of the TreeView.                       |
| **treeView**  | [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions) | The TreeView instance to configure.             |
| **action**    | [Action\<TTreeView, TreeViewEventArgs>](https://docs.microsoft.com/dotnet/api/system.action-2)          | The action to execute after a node is expanded. |

**Returns:** [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions). The configured TreeView instance.

This method allows you to specify an action that will be executed after a node is expanded in the TreeView.

```csharp

var treeView = new TreeView();
treeView.OnAfterExpand((tv, e) => { /* action */ });

```

### ![](https://1075938901-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2HvlWXJQMV7DxhGzw7Y1%2Fuploads%2Fgit-blob-e4f8ed47a52590951f725a10c269555e81d41d81%2Fstatic.png?alt=media) OnAfterSelect\<TTreeView>(treeView, action)

Attaches an action to be executed after a node is selected in the [TreeView](https://docs.wisej.com/api/wisej.web/lists-and-grids/treeview).

| Parameter     | Type                                                                                                    | Description                                     |
| ------------- | ------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| **TTreeView** |                                                                                                         | The type of the TreeView.                       |
| **treeView**  | [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions) | The TreeView instance to configure.             |
| **action**    | [Action\<TTreeView, TreeViewEventArgs>](https://docs.microsoft.com/dotnet/api/system.action-2)          | The action to execute after a node is selected. |

**Returns:** [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions). The configured TreeView instance.

This method allows you to specify an action that will be executed after a node is selected in the TreeView.

```csharp

var treeView = new TreeView();
treeView.OnAfterSelect((tv, e) => { /* action */ });

```

### ![](https://1075938901-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2HvlWXJQMV7DxhGzw7Y1%2Fuploads%2Fgit-blob-e4f8ed47a52590951f725a10c269555e81d41d81%2Fstatic.png?alt=media) OnBeforeCheck\<TTreeView>(treeView, action)

Extension method to attach an action to the BeforeCheck event of a TreeView.

| Parameter     | Type                                                                                                    | Description                                                    |
| ------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| **TTreeView** |                                                                                                         | The type of the TreeView, which must inherit from TreeView.    |
| **treeView**  | [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions) | The TreeView instance to attach the event handler to.          |
| **action**    | [Action\<TTreeView, TreeViewCancelEventArgs>](https://docs.microsoft.com/dotnet/api/system.action-2)    | The action to execute when the BeforeCheck event is triggered. |

**Returns:** [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions). The original TreeView instance with the event handler attached.

This method allows you to execute a custom action before a node in the TreeView is checked or unchecked.

```csharp

treeView.OnBeforeCheck((tv, e) => {
// Custom logic here
});

```

### ![](https://1075938901-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2HvlWXJQMV7DxhGzw7Y1%2Fuploads%2Fgit-blob-e4f8ed47a52590951f725a10c269555e81d41d81%2Fstatic.png?alt=media) OnBeforeCollapse\<TTreeView>(treeView, action)

Extension method to attach an action to the BeforeCollapse event of a TreeView.

| Parameter     | Type                                                                                                    | Description                                                       |
| ------------- | ------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| **TTreeView** |                                                                                                         | The type of the TreeView, which must inherit from TreeView.       |
| **treeView**  | [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions) | The TreeView instance to attach the event handler to.             |
| **action**    | [Action\<TTreeView, TreeViewCancelEventArgs>](https://docs.microsoft.com/dotnet/api/system.action-2)    | The action to execute when the BeforeCollapse event is triggered. |

**Returns:** [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions). The original TreeView instance with the event handler attached.

This method allows you to execute a custom action before a node in the TreeView is collapsed.

```csharp

treeView.OnBeforeCollapse((tv, e) => {
// Custom logic here
});

```

### ![](https://1075938901-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2HvlWXJQMV7DxhGzw7Y1%2Fuploads%2Fgit-blob-e4f8ed47a52590951f725a10c269555e81d41d81%2Fstatic.png?alt=media) OnBeforeExpand\<TTreeView>(treeView, action)

Attaches an action to be executed before a node is expanded in the [TreeView](https://docs.wisej.com/api/wisej.web/lists-and-grids/treeview).

| Parameter     | Type                                                                                                    | Description                                      |
| ------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| **TTreeView** |                                                                                                         | The type of the TreeView.                        |
| **treeView**  | [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions) | The TreeView instance to configure.              |
| **action**    | [Action\<TTreeView, TreeViewCancelEventArgs>](https://docs.microsoft.com/dotnet/api/system.action-2)    | The action to execute before a node is expanded. |

**Returns:** [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions). The configured TreeView instance.

This method allows you to specify an action that will be executed before a node is expanded in the TreeView.

```csharp

var treeView = new TreeView();
treeView.OnBeforeExpand((tv, e) => { /* action */ });

```

### ![](https://1075938901-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2HvlWXJQMV7DxhGzw7Y1%2Fuploads%2Fgit-blob-e4f8ed47a52590951f725a10c269555e81d41d81%2Fstatic.png?alt=media) OnBeforeSelect\<TTreeView>(treeView, action)

Attaches an action to be executed before a node is selected in the [TreeView](https://docs.wisej.com/api/wisej.web/lists-and-grids/treeview).

| Parameter     | Type                                                                                                    | Description                                      |
| ------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| **TTreeView** |                                                                                                         | The type of the TreeView.                        |
| **treeView**  | [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions) | The TreeView instance to configure.              |
| **action**    | [Action\<TTreeView, TreeViewCancelEventArgs>](https://docs.microsoft.com/dotnet/api/system.action-2)    | The action to execute before a node is selected. |

**Returns:** [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions). The configured TreeView instance.

This method allows you to specify an action that will be executed before a node is selected in the TreeView.

```csharp

var treeView = new TreeView();
treeView.OnBeforeSelect((tv, e) => { /* action */ });

```

### ![](https://1075938901-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2HvlWXJQMV7DxhGzw7Y1%2Fuploads%2Fgit-blob-e4f8ed47a52590951f725a10c269555e81d41d81%2Fstatic.png?alt=media) ShowLoader\<TTreeView>(treeView, value)

Sets the loader visibility of the [TreeView](https://docs.wisej.com/api/wisej.web/lists-and-grids/treeview).

| Parameter     | Type                                                                                                    | Description                                                    |
| ------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| **TTreeView** |                                                                                                         | The type of the TreeView.                                      |
| **treeView**  | [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions) | The TreeView instance to configure.                            |
| **value**     | [Boolean](https://docs.microsoft.com/dotnet/api/system.boolean)                                         | A boolean value indicating whether the loader should be shown. |

**Returns:** [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions). The configured TreeView instance.

This method allows you to show or hide a loader on a TreeView.

```csharp

var treeView = new TreeView();
treeView.ShowLoader(true);

```

### ![](https://1075938901-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2HvlWXJQMV7DxhGzw7Y1%2Fuploads%2Fgit-blob-e4f8ed47a52590951f725a10c269555e81d41d81%2Fstatic.png?alt=media) VirtualScroll\<TTreeView>(treeView, value)

Sets the virtual scrolling capability of the [TreeView](https://docs.wisej.com/api/wisej.web/lists-and-grids/treeview).

| Parameter     | Type                                                                                                    | Description                                                             |
| ------------- | ------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| **TTreeView** |                                                                                                         | The type of the TreeView.                                               |
| **treeView**  | [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions) | The TreeView instance to configure.                                     |
| **value**     | [Boolean](https://docs.microsoft.com/dotnet/api/system.boolean)                                         | A boolean value indicating whether virtual scrolling should be enabled. |

**Returns:** [TTreeView](https://docs.wisej.com/api/wisej.web.markup/extensions/wisej.web.markup.treeviewextensions). The configured TreeView instance.

This method allows you to enable or disable virtual scrolling on a TreeView.

```csharp

var treeView = new TreeView();
treeView.VirtualScroll(true);

```
