Having trouble getting help?
Contact Support
Contact Support
LoadOnDemand in WPF TreeViewAdv (Classic)
19 Oct 20224 minutes to read
The LoadOnDemand feature enables users to load items dynamically when a particular TreeViewItem is expanded. Hence the items are loaded on demand and reduce the loading time.
- To load items on demand:
- LoadOnDemand event is used to load the sub-items when a particular item is expanded.
- LoadingHeader is used to display the text while sub-items are being loaded.
- IsLoadOnDemand value has to be set to true if the item is to be loaded on demand.
<syncfusion:TreeViewAdv x:Name="treeViewAdv" LoadOnDemand="treeViewAdv_LoadOnDemand"> <syncfusion:TreeViewItemAdv Header="Root1" IsLoadOnDemand="True" LoadingHeader="Loading....." /> <syncfusion:TreeViewItemAdv Header="Root2" IsLoadOnDemand="True" LoadingHeader="Loading....." /> </syncfusion:TreeViewAdv>
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); timer = new DispatcherTimer(); timer.Interval = new TimeSpan(0, 0, 0, 0, 800); timer.Tick += new EventHandler(timer_Tick); } private void timer_Tick(object sender, EventArgs e) { if(loadingitem!=null) { for (int i = 0; i <= 5; i++) { loadingitem.Items.Add(new TreeViewItemAdv() { Header = "Node" + i }); } loadingitem.IsLoadOnDemand = false; timer.Stop(); } } private DispatcherTimer timer; private TreeViewItemAdv loadingitem; private void treeViewAdv_LoadOnDemand(object sender, LoadonDemandEventArgs args) { loadingitem = args.TreeViewItem as TreeViewItemAdv; timer.Start(); } }
Partial Public Class MainWindow Inherits Window Public Sub New() InitializeComponent() timer = New DispatcherTimer() timer.Interval = New TimeSpan(0, 0, 0, 0, 800) AddHandler timer.Tick, AddressOf timer_Tick End Sub Private Sub timer_Tick(ByVal sender As Object, ByVal e As EventArgs) If loadingitem IsNot Nothing Then For i As Integer = 0 To 5 loadingitem.Items.Add(New TreeViewItemAdv() With {.Header = "Node" & i}) Next i loadingitem.IsLoadOnDemand = False timer.Stop() End If End Sub Private timer As DispatcherTimer Private loadingitem As TreeViewItemAdv Private Sub treeViewAdv_LoadOnDemand(ByVal sender As Object, ByVal args As LoadonDemandEventArgs) loadingitem = TryCast(args.TreeViewItem, TreeViewItemAdv) timer.Start() End Sub End Class