Description du problème : il n'y a que quatre nœuds dans le TreeView dans le jeu de cadres. Après en avoir ouvert un, fermez les trois autres nœuds.
Au début, je l'ai écrit dans TreeView1_Expand, qui fonctionne, mais vous devez définir la publication automatique sur true. Cela aura l'air moche lors de l'actualisation. J'ai recherché des informations sur Internet et les sujets connexes sont les suivants :
==================
1. "Ne pas soumettre lors du développement, soumettre uniquement lors de la modification du nœud sélectionné"
2. "Permettez à TreeView de retirer automatiquement tous les autres nœuds développés après avoir développé un nœud, c'est-à-dire qu'il n'y a qu'un seul nœud développé en même temps."
3. "Solution pour l'extension TreeView sans scintillement"
4. "Discussion spéciale TreeView"
5. "Recherche sur la méthode de contrôle TreeView JavaScript"
==================
Il existe un script javascript ci-dessus qui est bien écrit, mais après l'avoir essayé pendant longtemps, j'obtiens toujours des erreurs.
J’en ai donc écrit un moi-même.
<langage de script="JavaScript">
fonction initTree()
{
var arbre = document.all["TreeView1"];
tree.attachEvent("onexpand", SelectedIndexChange); //Ajouter un événement
}
fonction SelectedIndexChange()
{
var temp = this.TreeView1.clickedNodeIndex;
var nœuds = new Array();
nœuds = this.TreeView1.getChildren();
pour(i=0;i<nodes.length;i++)
{
si(i!=temp)
{
si(i<10)
nodeIndex = "0"+i;//Je n'ai utilisé que quatre nœuds, essayez-le avec plus de dix nœuds.
this.TreeView1.getTreeNode(nodeIndex).setAttribute('expanded','false');
}
}
}
</script>
Enfin, écrivez-en un dans le corps
<body onload="initTree();">
Il est prêt à l'emploi.
Bien sûr, vous pouvez également écrire du javascript dans page_load comme dans le "TreeView Forum", mais cela serait très gênant et sujet aux erreurs.