Descrição do problema: Existem apenas quatro nós no TreeView no conjunto de quadros. Após abrir um, feche os outros três nós.
No início, escrevi em TreeView1_Expand, que funciona, mas você precisa definir o autopostback como verdadeiro. Ficará feio ao atualizar. Procurei informações na Internet e os tópicos relacionados são os seguintes:
==================
1. "Não enviar ao expandir, enviar apenas ao alterar o nó selecionado"
2. "Ative o TreeView para retrair automaticamente todos os outros nós expandidos após expandir um nó, ou seja, há apenas um nó expandido ao mesmo tempo."
3. "Solução para expansão do TreeView sem oscilação"
4. "Discussão especial do TreeView"
5. "Pesquisa sobre o método de controle JavaScript TreeView"
==================
Há um script javascript acima que está bem escrito, mas depois de tentar por muito tempo, sempre recebo erros.
Então eu mesmo escrevi um.
<linguagem script="JavaScript">
função initTree()
{
var árvore = document.all["TreeView1"];
tree.attachEvent("onexpand", SelectedIndexChange); //Anexar um evento
}
função SelectedIndexChange()
{
var temp = this.TreeView1.clickedNodeIndex;
var nós = new Array();
nós = this.TreeView1.getChildren();
for(i=0;i<nós.comprimento;i++)
{
se(eu!=temperatura)
{
se(eu<10)
nodeIndex = "0"+i;//Usei apenas quatro nós, experimente com mais de dez nós.
this.TreeView1.getTreeNode(nodeIndex).setAttribute('expandido','falso');
}
}
}
</script>
Finalmente, escreva um no corpo
<body onload="initTree();">
Está pronto para usar.
Claro, você também pode escrever javascript em page_load como no "Fórum TreeView", mas isso seria muito problemático e sujeito a erros.