TreeListMultiSelection Class
Represents a collection of selected nodes for the Tree List control.
Namespace: DevExpress.XtraTreeList
Assembly: DevExpress.XtraTreeList.v24.1.dll
NuGet Packages: DevExpress.Win.Navigation, DevExpress.Win.TreeList
Declaration
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
public class TreeListMultiSelection :
ICollection<TreeListNode>,
IEnumerable<TreeListNode>,
IEnumerable,
ICollection
Remarks
The TreeListMultiSelection class provides facilities to manipulate selected nodes.
The collection of selected nodes for the Tree List control is supported by the TreeList.Selection property. Using the TreeListMultiSelection class methods you can select or unselect a specific node, unselect all nodes, and access nodes in this collection.
To enable selection of multiple nodes, set the TreeListOptionsSelection.MultiSelect property to true.
At runtime, multiple nodes can be selected by the left mouse button holding the SHIFT or CTRL key. The SHIFT key allows you to select a continuous range of nodes at a specific level. The CTRL key allows you to select or unselect individual nodes.
Important
Instances of this class are not intended to be used as stand-alone objects.
Example
The following code shows how to select children of a specific node. In the example, nodes are selected via the TreeListMultiSelection.Set method of the TreeList.Selection object.
The image below shows the result of selecting a Sales and Marketing node’s children.
using DevExpress.XtraTreeList.Nodes;
TreeListNode node = treeList1.FindNodeByFieldValue("Department", "Sales and Marketing");
if (node != null) {
ArrayList selectedNodes = new ArrayList();
selectChildren(node, selectedNodes);
treeList1.Selection.Set(selectedNodes);
}
void selectChildren(TreeListNode parent, ArrayList selectedNodes) {
IEnumerator en = parent.Nodes.GetEnumerator();
TreeListNode child;
while(en.MoveNext()) {
child = (TreeListNode)en.Current;
selectedNodes.Add(child);
if(child.HasChildren) selectChildren(child, selectedNodes);
}
}