Back to Devexpress

ASPxTreeView.ExpandedChanging Event

aspnet-devexpress-dot-web-dot-aspxtreeview-a4f5e351.md

latest3.4 KB
Original Source

ASPxTreeView.ExpandedChanging Event

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

Namespace : DevExpress.Web

Assembly : DevExpress.Web.v25.2.dll

NuGet Package : DevExpress.Web

Declaration

csharp
public event TreeViewNodeCancelEventHandler ExpandedChanging
vb
Public Event ExpandedChanging As TreeViewNodeCancelEventHandler

Event Data

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

PropertyDescription
CancelGets or sets a value indicating whether the action that raised the event should be canceled.
NodeGets 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.

aspx
<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>
csharp
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;
        }
    }
}
vb
Protected Sub ASPxTreeView1_ExpandedChanging(ByVal source As Object, ByVal e As DevExpress.Web.ASPxTreeView.TreeViewNodeCancelEventArgs)
    e.Node.Expanded = True
    If e.Node.Expanded AndAlso (ASPxTreeView1.SelectedNode IsNot Nothing) Then
        Dim node As TreeViewNode = ASPxTreeView1.SelectedNode.Parent
        Do While node IsNot Nothing
            If e.Node Is node Then
                e.Cancel = True
                Exit Do
            End If
            node = node.Parent
        Loop
    End If
End Sub

See Also

Tree View

ASPxTreeView Class

ASPxTreeView Members

DevExpress.Web Namespace