Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Changer les cellules entre 2 tree

Envoyé par : trollchichon

Date : 20/04/2006 14:27

Coucou c'est encore moi

Alors ma question est : Est ce que quelqu'un a deja realisé ou refléchi a la maniere de faire un va et viens entre deux tree au moyen de bouton.

C'est a dire je selectionne une valeur dans le tree de droite, je clique sur le bouton et elle se trouve a gauche (et inversement)

D'avance merci.

# Re: Changer les cellules entre 2 tree

Envoyé par : laurentj

Date : 20/04/2006 15:52

si c'est un tree avec contenu fixe (treechildren &co en dur dans le source), il suffit d'une simple manipulation DOM..

Si c'est un tree généré à partir de template (ou treeview personnalisé), là faut agir sur le contenu RDF.

# Re: Changer les cellules entre 2 tree

Envoyé par : trollchichon

Date : 20/04/2006 16:21

ok merci c'est un tree avec contenu fixe. Comment peut t'on recuperer les elements contenu dans le tree?

Nom              |              Prenom
-----------------|----------------------
the sponge       |               bob
the sponge       |               bob
the sponge       |               bob
the sponge       |               bob
the sponge       |               bob
the sponge       |               bob
the sponge       |               bob

voila a quoi ressembre mon tree et j'aimerai recuperer :

  • la ligne entiere
  • les 2 elements separemement

D'avance merci.

# Re: Changer les cellules entre 2 tree

Envoyé par : laurentj

Date : 20/04/2006 17:45

il faut que tu apprenne le DOM, que tu apprennes à manipuler du XML.

# Re: Changer les cellules entre 2 tree

Envoyé par : trollchichon

Date : 21/04/2006 08:25

ok

Aurais-tu des adresses interessantes à me conseiller?

# Re: Changer les cellules entre 2 tree

Envoyé par : trollchichon

Date : 21/04/2006 09:57

alors voila, j'ai commencé le DOM, et je suis arrivé au resultat suivant:

function createTreeElement(treeid){
var tree = document.getElementById(treeid);
var currentitem = tree.currentIndex;
var tr = document.getElementById("treeitem"+currentitem);
var dest = document.getElementById('treechildren1');
dest.appendChild(tr.cloneNode(true));
}

je recupere le premier tree (treeid passé en parametre), l'index de la ligne selectionnée, je recupere le treeitem de cette ligne, l'arbre de destination et je copie le treeitem dans l'arbre de destination mais ca ne marche pas (enfin il n'y a pas d'affichage a l'ecran et le source n'est pas modifié) Pourtant il n'y a pas de blocage vu que si je met un 'alert' a la fin de l'execution, il s'affiche...

Quelqu'un pourrai me dire ce qu'il se passe?

J'ai une autre question :

Je doit recuperer les elements d'une requete SQL suivant des informations passées en parametre par l'utilisateur (genre nom, prenom...) ca je sais le faire mais faut-il mieux utiliser une structure RDF ou ecrire directement le resultat en dure dans le code? Sachant que les elements de recherche peuvent etre nombreux?

# Re: Changer les cellules entre 2 tree

Envoyé par : laurentj

Date : 21/04/2006 10:26

var tr = document.getElementById("treeitem"+currentitem);

je ne comprend pas pourquoi tu fais ça. Tu as donné un id à tous tes treeitem ??

Tu as plus simple

 var tr = tree.contentView.getItemAtIndex(tree.currentIndex);

pour ta deuxième question : une structure RDF c'est mieux. Tu auras plus de souplesse. Par exemple tu pourra recharger le contenu, la source de donnée, sans recharger toute la page (voir l'exemple php rdf dans le wiki, avec son bouton refresh)

# Re: Changer les cellules entre 2 tree

Envoyé par : trollchichon

Date : 21/04/2006 10:45

merci ca marche bien comme ca et pour le RDF il me semblait aussi que se serai mieux. Je me penche dessus de suite.

# Re: Changer les cellules entre 2 tree

Envoyé par : servlet1

Date : 21/04/2006 13:47

oui laurent dans les 2 cas :

  • tree avec contenu fixe
  • tree généré à partir de template ...

j'utilise le DOM et ca marche..!!!!

# Re: Changer les cellules entre 2 tree

Envoyé par : laurentj

Date : 21/04/2006 14:21

tree généré à partir de template ...

seulement si tu n'as pas de flags="dont-built-content". Seulement ce flag est tout de même recommandé de le mettre, surtout si tu as beaucoup de donnée, pour des raisons de perfs. Mais si tu le met, y a plus de contenu DOM derrière...

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.