Skip to main content
Tab

TreeViewNode.Checked Property

Gets or sets whether the node is checked.

Namespace: DevExpress.Web

Assembly: DevExpress.Web.v23.2.dll

NuGet Package: DevExpress.Web

Declaration

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

Property Value

Type Default Description
Boolean false

true if the node is checked; otherwise, false.

Remarks

Use the Checked property to specify whether the node is checked.

TreeView_Checked

To allow end-users to check nodes, set the ASPxTreeView.AllowCheckNodes property to true. You can disable the check box for a particular node, by setting its TreeViewNode.AllowCheck property to false.

To get or set the Checked property value on the client side, use the ASPxClientTreeViewNode.GetChecked and ASPxClientTreeViewNode.SetChecked properties respectively.

Note

The Checked property synchronizes its value with the node’s TreeViewNode.CheckState property.

For more information, see the Check Box Support topic.

Example

This example demonstrates how you can use the AllowCheckNodes and AllowCheck properties to manage the visibility of check boxes.

<dx:ASPxRadioButtonList ID="ASPxRadioButtonList1" runat="server" 
    AutoPostBack="True" ClientIDMode="AutoID" 
    onselectedindexchanged="ASPxRadioButtonList1_SelectedIndexChanged" 
    SelectedIndex="0">
    <Items>
        <dx:ListEditItem Text="Hide all check boxes" Value="HideAll" />
        <dx:ListEditItem Text="Show check boxes for leaf nodes only" Value="ShowLeaves" />
        <dx:ListEditItem Text="Show all check boxes" Value="Show" />
    </Items>
</dx:ASPxRadioButtonList>

<dx:ASPxTreeView ID="ASPxTreeView1" runat="server" ClientIDMode="AutoID">
    <Nodes>
        <dx:TreeViewNode>
            <Nodes>
                <dx:TreeViewNode>
                    <Nodes>
                        <dx:TreeViewNode />
                        <dx:TreeViewNode />
                    </Nodes>
                </dx:TreeViewNode>
                <dx:TreeViewNode />
            </Nodes>
        </dx:TreeViewNode>
        <dx:TreeViewNode>
            <Nodes>
                <dx:TreeViewNode />
                <dx:TreeViewNode />
                <dx:TreeViewNode />
                <dx:TreeViewNode />
            </Nodes>
        </dx:TreeViewNode>
    </Nodes>
</dx:ASPxTreeView>

<dx:ASPxButton ID="ASPxButton1" runat="server" OnClick="ASPxButton1_Click" Text="Disable checked nodes" />
<dx:ASPxButton ID="ASPxButton2" runat="server" OnClick="ASPxButton2_Click" Text="Enable checked nodes" />
protected void Page_Load(object sender, EventArgs e) {
    if (!IsPostBack) {
        ASPxTreeView1.AllowCheckNodes = !(ASPxRadioButtonList1.SelectedIndex == 0);
        ASPxTreeView1.ExpandAll();
    }
}

protected void ASPxRadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) {
    ASPxRadioButtonList rblOptions = sender as ASPxRadioButtonList;
    switch (rblOptions.SelectedIndex) {
        case 0:
            ASPxTreeView1.AllowCheckNodes = false;
            break;
        case 1:
            ASPxTreeView1.AllowCheckNodes = true;
            PerformActionOnNodesRecursive(ASPxTreeView1.Nodes, delegate(TreeViewNode node) { node.AllowCheck = node.Nodes.Count == 0; });
            break;
        case 2:
            ASPxTreeView1.AllowCheckNodes = true;
            PerformActionOnNodesRecursive(ASPxTreeView1.Nodes, delegate(TreeViewNode node) { node.AllowCheck = true; });
            break;
    }
}

protected void PerformActionOnNodesRecursive(TreeViewNodeCollection nodes, Action<TreeViewNode> action) {
    foreach (TreeViewNode node in nodes) {
        action(node);
        if (node.Nodes.Count > 0)
            PerformActionOnNodesRecursive(node.Nodes, action);
    }
}
protected void ASPxButton1_Click(object sender, EventArgs e) {
    PerformActionOnNodesRecursive(ASPxTreeView1.Nodes, delegate(TreeViewNode node) { node.Enabled = !node.Checked;});
}
protected void ASPxButton2_Click(object sender, EventArgs e) {
    PerformActionOnNodesRecursive(ASPxTreeView1.Nodes, delegate(TreeViewNode node) { node.Enabled = true; });
}
See Also