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.