Envoyé par : manu_gestelia
Date : 23/05/2006 12:22
Bonjour, J'utilise un arbre. Par du code JS, j'ajoute des éléments dans cet arbre. Les éléments ajoutés dans l'arbre peuvent avoir n niveaux. L'ajout se fait bien, mais au final je me retrouve avec un arbre sans +/- devant chaque noeud, donc impossibilité de déplier le sous niveau. Ci-joint un résumé de mon code : Merci d'avance pour votre aide.
<?xml version="1.0" encoding="ISO-8859-1" ?> <?xml-stylesheet href="chrome://global/skin" type="text/css"?> <!-- fichier : test.xul --> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script> function AjoutUn(aName) { var lObjTreeItem = document.createElement('treeitem'); lObjTreeItem.setAttribute('container',"true"); lObjTreeItem.setAttribute('open',"true"); var lObjTreeRow = document.createElement('treerow'); var lObjTreeCell = document.createElement('treecell'); lObjTreeCell.setAttribute('label', aName); lObjTreeRow.appendChild(lObjTreeCell); lObjTreeRow.appendChild(lObjTreeCell); lObjTreeItem.appendChild(lObjTreeRow); return lObjTreeItem; } function Ajout(){ var lTreeChildreen = document.getElementById('Arbre'); var lObjTreeItem = AjoutUn("Principal") lTreeChildreen.appendChild(lObjTreeItem); var lIdNoeud = Array("Niveau 1", "niveau 2") for(var lCtLig = 0; lIdNoeud.length > lCtLig ; lCtLig++) { lObjSSTreeChildreen = document.createElement('treechildreen'); lObjTreeItem.appendChild(lObjSSTreeChildreen); lObjTreeItem = AjoutUn(lIdNoeud[lCtLig]) ; lObjSSTreeChildreen.appendChild(lObjTreeItem); } lObjSSTreeChildreen = document.createElement('treechildreen'); lObjTreeItem.appendChild(lObjSSTreeChildreen); lObjTreeItem = AjoutUn("Feuille"); lObjSSTreeChildreen.appendChild(lObjTreeItem); } </script> <groupbox flex="1"> <button label="Test" onclick="Ajout();" /> <tree id="tree" flex="1" hidecolumnpicker="true"> <treecols> <treecol id="tree-name" flex="1" label="Titre" primary="true"/> </treecols> <treechildren id="Arbre"> </treechildren> </tree> </groupbox> </window>
Envoyé par : laurentj
Date : 23/05/2006 13:34
Tu crée tes éléments sans indiquer de namespace. Résultat : ce ne sont pas des éléments XUL... Il faut que tu utilises createElementNS.
Envoyé par : manu_gestelia
Date : 23/05/2006 15:28
Il faut que je me mette dans la tête que treechildren s'écrit avec UN seul e : lObjSSTreeChildreen = document.createElement('treechildren') au lieu de lObjSSTreeChildreen = document.createElement('treechildreen')
Désolé !
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.