問題の説明: フレームセットの TreeView には 4 つのノードしかありません。1 つを開いた後、他の 3 つのノードを閉じます。
最初は TreeView1_Expand で作成しましたが、これは機能しますが、autopostback を true に設定する必要があります。インターネットで情報を探したところ、次のような関連トピックがありました。
==================
1.「展開時は送信せず、選択したノードを変更する場合のみ送信する」
2. TreeView を有効にして、ノードを展開した後、展開された他のすべてのノードを自動的に取り消します。つまり、同時に展開されるノードは 1 つだけです。
3. 「ちらつきのないTreeView展開の解決策」
4.「ツリービュースペシャルディスカッション」
5. 「TreeView JavaScript制御方式の研究」
==================
上記の JavaScript スクリプトはよく書かれていますが、長時間試してみると常にエラーが発生します。
それで私も自分で書きました。
<スクリプト言語="JavaScript">
関数 initTree()
{
vartree = document.all["TreeView1"];
tree.attachEvent("onexpand", SelectedIndexChange); // イベントを追加します
}
関数SelectedIndexChange()
{
var temp = this.TreeView1.clickedNodeIndex;
var ノード = 新しい Array();
ノード = this.TreeView1.getChildren();
for(i=0;i<nodes.length;i++)
{
if(i!=温度)
{
if(i<10)
nodeIndex = "0"+i;//今回は 4 つのノードしか使用しませんでしたが、10 ノード以上でも試してみてください。
this.TreeView1.getTreeNode(nodeIndex).setAttribute('expanded','false');
}
}
}
</script>
最後に本文に一つ書きます
<body onload="initTree();">
すぐに使用できます。
もちろん、「TreeView Forum」のようにpage_loadにJavaScriptを記述することもできますが、それは非常に面倒でエラーが発生しやすくなります。