Skip to main content

ASPxClientTreeList.CollapseNode(key) Method

Collapses the specified node preserving the expanded state of child nodes.

Declaration

CollapseNode(
    key: string
): void

Parameters

Name Type Description
key string

A String value that uniquely identifies the node.

Remarks

To collapse all nodes, use the ASPxClientTreeList.CollapseAll method. To expand the specified node, use the ASPxClientTreeList.ExpandNode method.

To learn more, see Expanding and Collapsing Nodes.

Example

This example demonstrates how to use the GetFocusedNodeKey method to expand and collapse tree nodes based on the state of a node (collapsed or expanded). You can get the node state by calling the GetNodeState(nodeKey) method in the FocusedNodeChanged event.

Demo limitation: if you close the topmost parent node and do not have other nodes except that one, you will have to expand this node by clicking the Expand Button.

<script>
    function OnFocusedNodeChange(s, e) {
        var nodeKey = s.GetFocusedNodeKey();
        var nodeState = s.GetNodeState(nodeKey);

        if (nodeState === "Collapsed")
            s.ExpandNode(nodeKey);
        else if (nodeState === "Expanded")
            s.CollapseNode(nodeKey);
    };
</script>
<dx:ASPxTreeList ID="TreeList"
    runat="server"
    AutoGenerateColumns="False" 
    DataSourceID="ProductsDataSource" 
    KeyFieldName="EmployeeID" 
    ParentFieldName="ReportsTo"
    Width="50%">
    <Columns>
        <dx:TreeListTextColumn FieldName="EmployeeID" VisibleIndex="0" ReadOnly="true"></dx:TreeListTextColumn>
        <dx:TreeListTextColumn FieldName="LastName" VisibleIndex="1"></dx:TreeListTextColumn>
        <dx:TreeListTextColumn FieldName="FirstName" VisibleIndex="2"></dx:TreeListTextColumn>
    </Columns>
    <SettingsBehavior AllowFocusedNode="true" FocusNodeOnLoad="false" />
    <ClientSideEvents FocusedNodeChanged="OnFocusedNodeChange" />
</dx:ASPxTreeList>
<br />

<asp:AccessDataSource ID="ProductsDataSource" runat="server"
    DataFile="~/App_Data/nwind.mdb"
    SelectCommand="SELECT [EmployeeID], [LastName], [FirstName], [ReportsTo] FROM [Employees]">
</asp:AccessDataSource>
See Also