Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# tree et selection

Envoyé par : bross

Date : 11/04/2006 12:05

Bonjour, j'ai un tree alimenté par un rdf et mon problème est de récupérer la valeur séléctionnée dans mon tree. L'arbre se présente comme ceci : c'est un arbre à 1 seule colonne comme l'exemple suivant:

 
 |-classe1
 |    |
 |    |-AAA
 |    |-BBB
 | 
 |-classe2

En essayant avec le tutorial, j'arrive à récupérer le nom de tous les éléments de l'arbre grâce au nom de la colonne, mais je ne veux recuperer que les éléments AAA ou BBB comment faire ?

# Re: tree et selection

Envoyé par : alexp

Date : 11/04/2006 23:59

N'ayant pas la structure de ton fichier RDF de départ, il est difficile de te répondre. (Un petit morceau pourrais nous aider)

Néanmoins, il y'a de forte chance que la solution ressemble à ça (si j'ai bien compris ton problème) :

var typeRS=datasource.GetTarget(selection, rdf.GetResource("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"), true);
if (typeRS.EqualsNode(rdf.GetResource("http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq"))) {
 // alors selection est classe*
} else {
 // sinon c'est surement AAA, BBB, ... 
}

# Re: tree et selection

Envoyé par : bross

Date : 12/04/2006 09:25

voila une sequence d'un de mes fichiers rdf:

<RDF:Seq RDF:about="http://www.site.com/all-elts">
     <RDF:li>
        <RDF:Seq RDF:about="http://www.site.com/ACHCDA2C">
           <RDF:li RDF:resource="http://www.site.com/ACHCDA2C/JLESUEUR"/>
           <RDF:li RDF:resource="http://www.site.com/ACHCDA2C/MAGASIN"/>
        </RDF:Seq>
     </RDF:li>
     <RDF:li>
        <RDF:Seq RDF:about="http://www.site.com/GCHAXBON">
           <RDF:li RDF:resource="http://www.site.com/GCHAXBON/JECOUDER"/>
           <RDF:li RDF:resource="http://www.site.com/GCHAXBON/MLJOANNES"/>
           <RDF:li RDF:resource="http://www.site.com/GCHAXBON/EBERLEMON"/>
           <RDF:li RDF:resource="http://www.site.com/GCHAXBON/EDEPIERRE"/>
           <RDF:li RDF:resource="http://www.site.com/GCHAXBON/EC"/>
           <RDF:li RDF:resource="http://www.site.com/GCHAXBON/JUAN"/>
           <RDF:li RDF:resource="http://www.site.com/GCHAXBON/ELEBORGNE"/>
           <RDF:li RDF:resource="http://www.site.com/GCHAXBON/GJEAN"/>
           <RDF:li RDF:resource="http://www.site.com/GCHAXBON/CCROISSANT"/>
           <RDF:li RDF:resource="http://www.site.com/GCHAXBON/CMALLET"/>
        </RDF:Seq>
     </RDF:li>
  </RDF:Seq>

Merci de votre aide

# Re: tree et selection

Envoyé par : alexp

Date : 12/04/2006 14:16

Je viens de réaliser que tu n'avais pas forcement une application signée ou dans chrome (pour utiliser GetTarget qui est un XPCOM).
Et il y'a une solution plus simple : utiliser la fonction getParentIndex

Ainsi si ton arbre a un seul niveau, tree.view.getParentIndex(tree.currentIndex)
retournera -1 si tu es sur un classe* et un nombre >0 sur AAA,BBB, ...

# Re: tree et selection

Envoyé par : bross

Date : 12/04/2006 16:08

effectivemment ça fonctionne mais pour un arbre comme ci-dessous (toujours une seule colonne) et l'objectif est d'avoir DDD, ça ne marche pas avec cette fonction

|-classe1
|    |
|    |-AAA   
|    |-BBB
| 
|-classe2
     |
     |-CCC
     |  |-DDD
     |
     |-BBB  

# Re: tree et selection

Envoyé par : alexp

Date : 12/04/2006 16:51

Si je comprends bien, tu veux réagir à la sélection des feuilles de ton arbres uniquement, c'est à dire sur AAA, BBB, DDD et BBB ?
Dans ce cas, tu devrais utiliser la fonction isContainer
Si elle renvoie faux, tu es sur une feuille.

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.