Principe et Exemple

Sommaire

1 - L'arbre possède deux variables :

  • ISNODE : Cette variable du composant indique si l'élément en cours possède des éléments enfants, elle est accessible en lecture et écriture, 0 pour Non, 1 pour Oui.

  • ITEMLEVEL : Cette variable du composant indique la profondeur de l'élément en cours dans l'arborescence (Niveau).

-1 - Aucun
0 - élément racine
1 - fils d'un élément racine
2 - fils d'un fils d'un élément racine, ...
3 -............

2 - L'arbre est associé à une requête :

Voici l'exemple du masque "PASS_LDF_ARBO" suivant :

Ce masque présente la liste de fabrication de l'article sélectionné (@Code) dans le masque "Passerelles" (sous onglet) suivant.

La requête associée est la suivante.

DECLARE @Req varchar(4000) DECLARE @Article varchar(30) IF(@ItemLevel% = -1 ) SET @Article= @Code$ ELSE SET @Article=@ItemCode$ SET @Req ='SELECT IsFather as isnode , CASE WHEN ImageIndex=0 THEN ''ICONE_ARTICLE'' WHEN ImageIndex=1 THEN ''ICONE_OUTIL'' WHEN ImageIndex=2 THEN ''ICONE_POSTE'' END as Code_ImageIndex , CASE WHEN StateIndex = 3 THEN ''NIVEAU_VERT'' WHEN StateIndex = 4 THEN ''NIVEAU_ORANGE'' WHEN StateIndex = 5 THEN ''NIVEAU_ROUGE'' END as Code_StateIndex ,CodeRubrique,Phase, DesignationCompo, QteTotale FROM LIGNES_LISTFAB WHERE CodeArticle=' + dbo.QuotedStr(@Article) EXEC (@Req)

Voici le contenu de la table "LIGNES_LISTFAB" d'où la requête extrait les données :

3 - L'arbre possède un évènement spécifique :

ONEXPANDING : Lors de l’exécution de cet évènement (clic sur un nœud pour le déployer) la requête associée au composant est à nouveau exécutée pour le niveau en cours en prenant en compte le niveau sélectionné par l'utilisateur. Cela permet d'alimenter le nœud en cours d'ouverture avec les informations sur le niveau concerné.

Dans le cas de l'exemple précédent voici l'évènement associé :

  • ItemLevel%=[@ItemLevel] => le composant alimente le niveau concerné.

  • ItemCode$=[@CodeRubrique] => l'évènement alimente la variable correspondant à la valeur prise par le code rubrique du niveau concerné dans la variable "Itemcode$" qui devient le nouveau niveau père pour l'éxécution de la requête en cours.ent associé :

4 - Ne pas oublier de réinitialiser les variables avant rafraichissement de l'arbre :

voir ONBEFOREREFRESH.

 

Donnez votre avis sur la Base de connaissance Silog ici ou contactez-nous directement par mail sur confluence@silog.fr