Skip to main content

TreeListSettingsSelection.Recursive Property

Gets or sets whether recursive selection is enabled.

Namespace: DevExpress.Web.ASPxTreeList

Assembly: DevExpress.Web.ASPxTreeList.v24.2.dll

Declaration

[DefaultValue(false)]
public bool Recursive { get; set; }

Property Value

Type Default Description
Boolean false

true to enable recursive selection; otherwise, false.

Property Paths

You can access this nested property as listed below:

Object Type Path to Recursive
ASPxTreeList
.SettingsSelection .Recursive

Remarks

When the recursive selection is enabled:

  • a parent node is automatically selected, if all its child nodes are selected. Deselecting a child node automatically deselects its parent node(s);
  • selecting a parent node automatically selects all its children.

Animation

animRecursiveSelection

To see the animation, enable the IE’s ‘Play animations in webpages’ option (Internet Options | Advanced).

Note

In virtual mode, nodes which are not shown are not selected recursively. To learn more, see the Virtual Mode topic.

Example

This example shows how you should bind the ASPxTreeList at runtime to enable recursive selection.

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
using DevExpress.Web.ASPxTreeList;

public partial class _Default : System.Web.UI.Page {
    protected override void OnInit(EventArgs e) {
        base.OnInit(e);
        InitTreeList(ASPxTreeList1);
    }

    protected void Page_Load(object sender, EventArgs e) {
        ASPxTreeList1.DataBind();
    }

    OleDbDataAdapter CreateDataAdapter() {
        string connectionString =
         @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Databases\Departments.mdb";
        OleDbConnection myConnection = new OleDbConnection(connectionString);
        string query =
        "SELECT [ID], [ParentID], [Department], [Budget], [Location] FROM [Departments]";
        return new OleDbDataAdapter(query, myConnection);
    }
    DataTable CreateDataTable(OleDbDataAdapter myAdapter) {
        DataTable dt = new DataTable();
        DataSet testData = new DataSet();
        myAdapter.Fill(testData);
        return testData.Tables[0];
    }
    void InitTreeList(ASPxTreeList tl) {
        tl.SettingsSelection.Recursive = true;
        tl.SettingsSelection.AllowSelectAll = true;
        tl.SettingsSelection.Enabled = true;
        tl.KeyFieldName = "ID";
        tl.ParentFieldName = "ParentID";
        ASPxTreeList1.DataSource = CreateDataTable(CreateDataAdapter());
    }
}
See Also