Completed
Last Updated: 05 Jun 2026 13:36 by ADMIN

When enabling the showSelectAll option in a checkbox column on the TreeList component, a checkbox is rendered with the TreeListSelectAllCheckboxDirective. In its constructor, this directive includes some logic that causes the TreeList to instantiate a new ViewCollection every time a selection change occurs. However, the call to ViewCollection.loadView() does not pass the service responsible for determining expanded nodes, so the default fallback (which returns true for all nodes) is used.

Problem

As a result, every checkbox interaction triggers fetchChildren() for all nodes, even those that were never expanded or loaded. This leads to:

  • Unnecessary and potentially expensive backend calls

  • Performance degradation, especially with large datasets

  • Inefficient "select all" logic that does not respect the current loaded/visible state

This behavior appears to ignore the fact that TreeList is configured for remote data binding with lazy-loaded children.

Expected Behavior

  • showSelectAll should only evaluate the currently loaded and visible items

  • fetchChildren() should not be called for every node

  • Integration with remote/lazy-loaded data should be respected

Suggested Solutions

  1. Update TreeListSelectAllCheckboxDirective to properly integrate with the expanded node detection logic or allow injection of a custom service.

  2. Provide an override or callback to control the behavior of the "select all" checkbox manually in remote scenarios.

Steps to Reproduce

  1. Configure a TreeList with hasChildren and children to fetch child nodes lazily.

  2. Enable selection with checkbox column and showSelectAll: true.

  3. Click any checkbox inside the TreeList.

  4. Observe that fetchChildren() is triggered for all nodes, not just expanded ones.

StackBlitz repro:

Open console and click on the first cell. 

https://stackblitz.com/edit/angular-e2ai4pjx?file=src%2Fapp%2Fapp.component.ts,angular.json

 

Completed
Last Updated: 06 Nov 2024 10:06 by ADMIN
Release 2024 Q4 (Nov)
Created by: Hoai Vu
Comments: 1
Category: TreeList
Type: Feature Request
6

Hi Kendo Team,

Could you add a checkboxOnly functionality to the TreeList component selection SelectableSettings => checkboxOnly setting similar to the Grid component SelectableSettings:

https://www.telerik.com/kendo-angular-ui/components/grid/api/SelectableSettings/#toc-checkboxonly

Thank you.

Completed
Last Updated: 07 Jun 2023 05:31 by ADMIN
Created by: Diego
Comments: 7
Category: TreeList
Type: Feature Request
26
Please provide a built-in drag-and-drop functionality for the TreeList component that will allow the end user to reorder items as necessary.
Completed
Last Updated: 27 May 2020 09:05 by ADMIN
Created by: Holger
Comments: 6
Category: TreeList
Type: Feature Request
1
Please provide keyboard navigation as in the jQuery version: https://demos.telerik.com/kendo-ui/treelist/keyboard-navigation
Completed
Last Updated: 27 May 2020 09:05 by ADMIN
ADMIN
Created by: Petyo
Comments: 24
Category: TreeList
Type: Feature Request
107
Modeled after the jQuery widget counterpart:

http://www.telerik.com/kendo-ui/treelist