Envoyé par : thx1138
Date : 12/07/2007 15:11
Bonjour,
je voudrais remplir un <tree> en javascript. Mais je n'y arrive pas
mon <tree>
<tree id="liste" flex="1"> <treecols> <treecol flex="1" label="Nom" /> <treecol flex="1" label="Prénom" /> <treecol flex="1" label="Ville1" /> <treecol flex="1" label="Tél1" /> </treecols> <treechildren id="liste2" /> </tree>
mon code js (dans un fichier php en requete Ajax. Le tout est dans une boucle):
var tree1 = document.createElement('treeitem'); var tree2 = document.createElement('treerow'); tree2.setAttribute('value', ".$data['use_id']."); var cell1 = document.createElement('treecell'); cell1.setAttribute('label', '".addslashes($data['use_nom'])."'); tree2.appendChild(cell1); var cell2 = document.createElement('treecell'); cell1.setAttribute('label', '".addslashes($data['use_prenom'])."'); tree2.appendChild(cell2); var cell3 = document.createElement('treecell'); cell1.setAttribute('label', '".addslashes($data['use_ville1'])."'); tree2.appendChild(cell3); var cell4 = document.createElement('treecell'); cell1.setAttribute('label', '".addslashes($data['use_tel1b'])."'); tree2.appendChild(cell4); tree1.appendChild(tree2); GetE('liste2').appendChild(tree1);
merci de votre aide
Envoyé par : Christophe Charron
Date : 12/07/2007 15:18
Bonjour, n'est-il pas mieux d'utiliser le xul namespace ?
const onlyxul = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; var treeItem = document.createElementNS(onlyxul,"treeitem"); var treeRow = document.createElementNS(onlyxul,"treerow");
Envoyé par : thx1138
Date : 12/07/2007 16:55
merci,
En fait j'arrive à remplir les listbox à colonnes de cette manière. mais je sèche sur les tree. (je sais, il serait sans doute plus intelligent d'utiliser des fichiers rdf ;-))
Aurais-tu un exemple complet avec ta méthode ?
mon appli n'est pas dans le chrome.
merci
Envoyé par : Raphael
Date : 13/07/2007 00:08
Et pourquoi pas un treeview ?
Envoyé par : Christophe Charron
Date : 13/07/2007 00:17
Voila quelques bouts de bric et de broc
const onlyxul = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; function pf_showcolumns(stream){ var fields = eval(stream); var icon = "graphics/field.bmp"; var tree = document.getElementById("treeFields"); // Attention, c'est l'identifiant de treeitem et c'est tout à fait bon et normal var rows = fields.rows; var count=0; var i=0; var vl_c_nomcol=""; var vl_c_descol=""; fa_vide_arbre("treeFields"); for(i in rows){ node = fa_ajoute_ligne_dans_arbre(rows[i],icon); tree.appendChild(node); } } function fa_ajoute_ligne_dans_arbre(fields,icon){ var treeItem = fa_crexul("treeitem"); var treeRow = fa_crexul("treerow"); var count = fields.length; var cells = new Array(count); for(i=0;i<count;i++){ cells[i] = document.createElementNS(onlyxul,"treecell"); cells[i].setAttribute("label"," "+fields[i]); } if(icon!="") { cells[0].setAttribute("src",icon); } treeItem.setAttribute("container","true"); for(i=0;i<count;i++) { treeRow.appendChild(cells[i]); } treeItem.appendChild(treeRow); return treeItem; } function fa_crexul(vv_quoi) { return document.createElementNS(onlyxul,vv_quoi); }
Je ne suis pas dans le chrome non plus
Envoyé par : thx1138
Date : 13/07/2007 01:28
ok
merci,
ton exemple est peu compliquer, mais j'ai chercher sur ton premier indice.
Ca fonctionne correctement, merci encore
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.