我正在使用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的,但簡單地遍歷所有的子節點,並把它們回退(或回當你點擊它關閉的)。問題是如果你想維護子節點的狀態而不管父母的狀態如何。然後你需要在某些變量中保存這些信息。
另一種選擇是,如果您不希望孩子甚至有複選框,那麼不要讓這些節點在服務器端代碼中爲「可檢查」。 (我相信在客戶端也有辦法)