Telerik RadTreeView コントロールを使用して、チェックボックスを含むノードを持つツリーを構築しています。
このコントロールのデフォルトの動作では、親ノードをオンにすると、その中のすべての子ノードもオンになります。この動作を変更する方法はありますか? 親ノードのオンまたはオフをチェックして、子ノードに影響を与えないようにしたいと考えています。
ありがとう
Telerik RadTreeView コントロールを使用して、チェックボックスを含むノードを持つツリーを構築しています。
このコントロールのデフォルトの動作では、親ノードをオンにすると、その中のすべての子ノードもオンになります。この動作を変更する方法はありますか? 親ノードのオンまたはオフをチェックして、子ノードに影響を与えないようにしたいと考えています。
ありがとう
PreviewChecked イベントが発生したときに、いくつかの魔法を試してみます。よくわかりませんが、チェックボックスがチェックされようとしていることを検出し、ユーザーが実際にクリックしたチェックボックスでない場合はこれを防ぐことができます。
このような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;
}
これはテレリックからそのままですが、すべての子ノードをループして、それらをオフに戻します (または、クリックしてオフにするとオンに戻します)。問題は、親に関係なく子ノードの状態を維持したい場合です。次に、その情報を変数に保持する必要があります。
もう1つのオプションは、子にチェックボックスさえも持たせたくない場合です。サーバー側のコードでそれらのノードを「チェック可能」にしないでください。(クライアント側にも方法があると確信しています)