問題描述:frameset中的TreeView,里面就四個節點,想打開一個后,關閉其它三個節點。
開始是在TreeView1_Expand里寫,倒也能用,可要設置autopostback為true,刷新時很難看,就在網上找資料
相關主題如下:
==================
1. "展開時不提交,改變選擇節點時才提交"
2. "使TreeView展開一個節點后自動縮回其他所有的已經展開的節點,就是說同一時間內只有一個展開節點"
3. "TreeView展開無閃爍的解決方法"
4. "TreeView專題討論"
5. "TreeView javaScr==================
上面有個Javascript角本寫的不錯,可試了半天老是出錯。
于是自已寫了一個。
<script language="JavaScript">
function initTree()
{
var tree = document.all["TreeView1"];
tree.attachEvent("onexpand", SelectedIndexChange); //追加個事件
}
function SelectedIndexChange()
{
var temp = this.TreeView1.clickedNodeIndex;
var nodes = new Array();
nodes = this.TreeView1.getChildren();
for(i=0;i<nodes.length;i++)
{
if(i!=temp)
{
if(i<10)
nodeIndex = "0"+i;//我這只用到了四個節點的,十個以上的自已試試看吧。
this.TreeView1.getTreeNode(nodeIndex).setAttribute('expanded','false');
}
}
}
</script>
最后在body里寫一個
<body onload="initTree();">
就可以用了。
當然也可以像"TreeView專題討論"中把javascript寫在page_load里,不過那樣就很麻煩了,也很容易出錯兒。
新聞熱點
疑難解答