RadTreeView控件中的复选框行为

时间:2011-03-04 16:00:29

标签: silverlight telerik radtreeview

我正在使用Telerik RadTreeView控件来构建一个nodes containing checkboxes的树。

此控件的默认行为是,如果检查父节点,则其中的所有子节点也将被检查。有没有办法改变这种行为?我希望能够打开或关闭父节点,而不会影响子节点。

由于

2 个答案:

答案 0 :(得分:1)

当PreviewChecked事件发生时,我会尝试做一些魔法。我不确定,但也许你可以用它来检测一个复选框即将被检查,并防止这种情况发生,如果它不是用户实际点击的复选框。

答案 1 :(得分:1)

你也可以在这样的javascript中做一些事情

function checkNode()
{
    var selectedNode = treeView.get_selectedNode();
    if (!selectedNode)
    {
        alert("You need to select a node first.");
        return false;
    }

    selectedNode.set_checked(!selectedNode.get_checked());

    return false;
}

这是直接来自telerik,但只是循环遍历所有子节点并将其关闭(或当您单击它时重新打开)。问题是,如果要保持子节点的状态而不管父节点如何。然后你需要将这些信息保存在某个变量中。

另一种选择是如果你不想让孩子们拥有复选框,那么就干脆;不要在服务器端代码中使这些节点“可检查”。 (我确信客户端也有办法)