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.