我正在使用Telerik RadTreeView控件来构建一个nodes containing checkboxes的树。
此控件的默认行为是,如果检查父节点,则其中的所有子节点也将被检查。有没有办法改变这种行为?我希望能够打开或关闭父节点,而不会影响子节点。
由于
答案 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,但只是循环遍历所有子节点并将其关闭(或当您单击它时重新打开)。问题是,如果要保持子节点的状态而不管父节点如何。然后你需要将这些信息保存在某个变量中。
另一种选择是如果你不想让孩子们拥有复选框,那么就干脆;不要在服务器端代码中使这些节点“可检查”。 (我确信客户端也有办法)