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 Tree |
#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;
}
}
}