Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

TreeListNodeIterator Class

The Node Iterator.

Namespace: DevExpress.Xpf.Grid

Assembly: DevExpress.Xpf.Grid.v24.2.dll

NuGet Package: DevExpress.Wpf.Grid.Core

#Declaration

public class TreeListNodeIterator :
    IEnumerator<TreeListNode>,
    IDisposable,
    IEnumerator,
    IEnumerable<TreeListNode>,
    IEnumerable

#Remarks

The Node Iterator allows you to traverse through the nodes without writing recursive code. Nodes are visited one by one, starting from a specified node down to the last node contained within a tree.

To iterate through the nodes, do the following.

To learn more, see Iterating Through Nodes.

#Example

This example shows how to traverse through all visible nodes to expand ones that have 4 or more child nodes. Nodes that have less than 4 child nodes are collapsed.

TreeListNodeIterator Example

View Example: Iterate Through Nodes With the TreeListNodeIterator

<dxg:GridControl x:Name="grid" 
                 AutoGenerateColumns="AddNew" 
                 EnableSmartColumnsGeneration="True" 
                 Loaded="OnGridLoaded">
    <dxg:GridControl.View>
        <dxg:TreeListView x:Name="view" AutoWidth="True"
                          KeyFieldName="ID" ParentFieldName="ParentID"/>
    </dxg:GridControl.View>
</dxg:GridControl>
void SmartExpandNodes(int minChildCount) {
    TreeListNodeIterator nodeIterator = new TreeListNodeIterator(view.Nodes, true);
    while (nodeIterator.MoveNext())
        nodeIterator.Current.IsExpanded = nodeIterator.Current.Nodes.Count >= minChildCount;
}

void OnGridLoaded(object sender, RoutedEventArgs e) {
    SmartExpandNodes(4);
}

#Inheritance

Object
TreeListNodeIterator
See Also