我正在使用Telerik RadTreeView控件与nodes containing checkboxes一起构建树。RadTreeView控件中的复选框行为
此控件的默认行为是,如果您检查父节点,其中的所有子节点也将被检查。有什么方法可以改变这种行为吗?我希望能够检查父节点的开启或关闭,而不会影响孩子。
谢谢
我正在使用Telerik RadTreeView控件与nodes containing checkboxes一起构建树。RadTreeView控件中的复选框行为
此控件的默认行为是,如果您检查父节点,其中的所有子节点也将被检查。有什么方法可以改变这种行为吗?我希望能够检查父节点的开启或关闭,而不会影响孩子。
谢谢
我会尝试在PreviewChecked事件发生时做一些魔术。我不确定,但也许你可以使用它来检测一个复选框即将被检查,并防止这种情况发生,如果它不是用户实际点击的复选框。
你也可以做一些东西这样
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;
}
的JavaScript这是直接从Telerik的,但简单地遍历所有的子节点,并把它们回退(或回当你点击它关闭的)。问题是如果你想维护子节点的状态而不管父母的状态如何。然后你需要在某些变量中保存这些信息。
另一种选择是,如果您不希望孩子甚至有复选框,那么不要让这些节点在服务器端代码中为“可检查”。 (我相信在客户端也有办法)