Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# treewiew personnalisé hierarchique

Envoyé par : hhf

Date : 06/04/2006 22:45

salut, je cherche a faire un tree dont les noeuds sont filtré par la saisie dans un textbox, j'ai essayé de jouer sur la propriété hidden et sur le style display et visible, mais avec des resultats catastrophiques (l'affichage devient incoherent). j'ai donc pensé que je devais utiliser une vue personnalisé. j'en suis donc à peuplé le 'tree' à partir d'un Array qui comprend mes object qui correspondent à mes lignes. Ceci en faisant l'object view avec les methode getCellText, isContainer, etc... comme dit dans le tuto Pour un arbre simple, (une liste en somme), ca marche presque. La selection marche pas etc, mais j'en suis pas là.

j'ai deux problemes : Je n'arrive pas à mettre en place la hierarchie des lignes, container ou pas, fils de ou pas etc..., le fais qu'un 'row' reponde qu'il est container ne suffit bien sur pas, j'aurais donc besoin d'un exemple complet. Second point, pour que ca fonctionne jusque la, je doit renseigner un attribut rowCount avec le nombre de lignes, mais mon nombre de ligne sera variable en fonction du filtre saisie dans le textbox, je devrais donc parcourir tous mes elements pour savoir s'ils repondent au filtre et devrons donc etre affiché ? ca craint, ya pas d'autre moyen ?

# Re: treewiew personnalisé hierarchique

Envoyé par : laurentj

Date : 06/04/2006 23:31

Tu as lu /wiki/TreeViewSimple et /wiki/TreeViewEvolu%E9 ?

Pour ton deuxieme probleme : il faut effectivement clairement effectuer la recherche sur tout tes élements, afin de savoir lesquels vont faire parti de ta liste de résultat. Liste alors sur laquelle ton treeview pourra se baser.

# Re: treewiew personnalisé hierarchique

Envoyé par : hhf

Date : 07/04/2006 19:19

ben en fait, j'avais imprimé une vielle version du tuto, desolé. Merci qd même. Par contre, dans le tuto, il y a une ligne qui même laisse perplexe :

var treeView = {
 get rowCount() { return this.visibleData.length; }
}

ca correspond à koi cette syntaxe

# Re: treewiew personnalisé hierarchique

Envoyé par : woogluf

Date : 07/04/2006 21:01

A prioris ça correspond à un treeview personnalisé contenant un attribut visibledata.

Ce visibledata est un tableau des lignes visibles du treeview personnalisé.

# Re: treewiew personnalisé hierarchique

Envoyé par : laurentj

Date : 08/04/2006 11:32

ca correspond à koi cette syntaxe

ça specifie un getter sur une propriété rowCount.

En fait, vu de l'exterieur de l'objet, c'est une propriété classique. Mais en fait, ça ne l'est pas. get rowCount() { ...} ou encore set rowCount() { ...} permettent de définir des fonctions qui sont executée lorsqu'on lit ou assigne une valeur à cette propriete "virtuelle".

# Re: treewiew personnalisé hierarchique

Envoyé par : hhf

Date : 09/04/2006 02:10

je peux utilisé cette syntaxe n'importe où, puis je faire :

function monObject() {}

monObject.prototype = {
 get rowCount {
  return 1;
 },
 ...
}

Et enfin si oui, est ce que ca fait partie de Ecmascript, oserais je demander si ca marche sous IE (pouah)

# Re: treewiew personnalisé hierarchique

Envoyé par : laurentj

Date : 09/04/2006 14:01

À priori, tu peux utiliser cette syntaxe n'importe où, puisque ça fait partie des specifications Ecmascript.

# Re: treewiew personnalisé hierarchique

Envoyé par : hhf

Date : 09/04/2006 20:09

ca c'est une info de chez info... jamais entendue parlé dans aucun bouquin javascript. Pas même dans la reference de chez Oreilly.

Ce qui m'amene à te posé une petite question suplementaire laurentj, peut on rajouter un attribut non enumerable à un Objet. Je crée un autre post pour ca OK

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.