I would like to be able to optimize the rendering of the TreeView component with a feature similar to the Row Virtualization in the Grid.
14 comments
ADMIN
Nadezhda Tacheva
Posted on:20 Dec 2023 14:19
Hi Chris,
This enhancement is included in the 2024 roadmap. Once we schedule it for a specific release, we will also decorate the current item with a label indicating the release number it will be delivered in.
AVEVA Licensee here. We've been asking for this support since January 2022. We had to release without it recently and will need to evaluate other control vendors going forward as you are not meeting the needs of Enterprise customers.
Hans
Posted on:28 Nov 2023 09:45
Yes we also need this urgently.
Our "treeview" needs to support viewing
over 10M objects, where sometimes a single branch may have up to 10K children.
These are loaded through an API, so it is a big no-no to query for all
10K of these objects at once as the end user will not be able to display
them all on a screen anyway.
(message also posted at the other thread)
Nicholas
Posted on:17 Nov 2023 14:44
Virtualizing would be a help. However, I see components are being used for every tree node and this has a huge effect on performance. If you re-factor to remove the need for the component and use RenderFragments instead the performance will be exponentially better. Microsoft points this out in their documentation.
I've revised the ticket you shared and synced with my colleagues on the matter.
They have informed me that the AnimationContainers have been optimized as discussed in the private thread. This change is expected to be released with the upcoming 4.1.0.
As a result, the performance should be improved even without the node virtualization feature. However, virtualization will still be needed for better handling of large amounts of items.
Hello, a solution to the problem is urgent. Our customers (including several DAX corporations) are extremely dissatisfied. They need a solution. See also: https://www.telerik.com/account/support-center/view-ticket/1557520
Who is the responsible decision maker to ensure that the problem is treated with priority?
Best regards Stefan Aust
ADMIN
Nadezhda Tacheva
Posted on:13 Dec 2022 15:49
Hi Christian,
The status of the item is indeed "Unplanned" - this indicates the request is valid and will be worked on in a future version of the product but it is not yet scheduled for implementation. Unfortunately, at this stage, I am not able to provide a firm estimate on when it will be included in the product. The best way to follow its progress is to subscribe for the item.
For the time being, an option that I can suggest for optimizing the performance of the TreeView is to load the child items on demand only when the user expands the parent node. You may check the Lazy Loading demo to explore the configuration.
Take your time to revise it and please let me know if any questions appear.
this is unplanned now for over 1 year - is there any chance this ever gets implemented? I think this is a crucial one (same goes for TreeList row virtualization) - as there is no workaround possible (e.g. when the user expands a lot of nodes).
Otherwise, we'll have to look for an alternative.
Best Regards,
Christian
ADMIN
Nadezhda Tacheva
Posted on:22 Sep 2021 07:48
Hi Christian,
Thank you for your feedback!
We do have an opened feature request for row virtualization in the TreeList that you may find here - Support for row virtualization. I see you already voted for it and you might also follow it to keep in track with its progress.
I would just like to add: this would also be a useful feature for the TreeList (the row virtualization is missing - column virtualization is already implemented) component as well, which shouldn't be much more work after the TreeView virtualization is implemented.
I think this would also keep your component-features more "consistent"
Best Regards,
Christian
ADMIN
Nadezhda Tacheva
Posted on:20 Sep 2021 15:06
Hi Roland,
Indeed, once this feature is available you can use it to improve the overall performance of the TreeList and not only initially. The best way to keep in track with its progress is to follow it.
Once we know which release will contain its implementation, we will update its status in the feedback portal and you will be notified via email accordingly.
I have ticket 1531271 open on this as well. We've had to use some delicate logic to dynamically load every tree branch as it first expands. This can improve performance initially, but as our customers expand more branches, hundreds of nodes can accumulate and performance degrades significantly. We are very keen for this feature.
Nasoloniaina
Posted on:09 Sep 2021 15:18
It will be very helpful
ALAINE
Posted on:09 Sep 2021 15:18
we need this feature as soon as possible, please we need to work!!!!