Skip to main content
Tab

ASPxTreeView.ExpandedChanging Event

Fires before the expansion state of a node is changed by end-user interaction.

Namespace: DevExpress.Web

Assembly: DevExpress.Web.v24.2.dll

NuGet Package: DevExpress.Web

#Declaration

public event TreeViewNodeCancelEventHandler ExpandedChanging

#Event Data

The ExpandedChanging event's data class is TreeViewNodeCancelEventArgs. The following properties provide information specific to this event:

Property Description
Cancel Gets or sets a value indicating whether the action that raised the event should be canceled.
Node Gets a node object related to the event. Inherited from TreeViewNodeEventArgs.

#Remarks

Write an ExpandedChanging event handler to perform specific actions before each time a node’s expansion state is changed by end-user interaction. You can use the event parameter’s properties to identify the node being manipulated and cancel execution of the command, if necessary.

#Example

The sample code below represents an ExpandedChanging event handler. The event handler prevents collapsing nodes if it has selected children in any generation.

<dx:ASPxTreeView ID="ASPxTreeView1" runat="server" DataSourceID="XmlDataSource1" AutoPostBack="True" 
    AllowSelectNode="True" OnExpandedChanging="ASPxTreeView1_ExpandedChanging" />
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/App_Data/MenuTabbedMenu.xml"
    XPath="/mainmenu/item"></asp:XmlDataSource>
protected void ASPxTreeView1_ExpandedChanging(object source, DevExpress.Web.ASPxTreeView.TreeViewNodeCancelEventArgs e) {
    if ((e.Node.Expanded) && (ASPxTreeView1.SelectedNode != null)) {
        TreeViewNode  node = ASPxTreeView1.SelectedNode.Parent;
        while (node != null) {
            if (e.Node == node) {
                e.Cancel = true;
                break;
            }
            node = node.Parent;
        }
    }
}
See Also