IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

TreeView Ajout des feuilles [WD24]


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 87
    Points : 52
    Points
    52
    Par défaut TreeView Ajout des feuilles
    Bonjour,

    Dans une fenêtre j'ai inséré un champ arbre mais je n'arrive pas à rajouter mon dernier dernier niveau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    PROCÉDURE FEN_TypeImpressionEtiquette()
     
    GLOBAL
    i est un entier
    s est une chaîne
    nIDFFProduits est un entier
    Mon ABRE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    // Variables
    sRacineTV est une chaîne = "Toutes"
    sBrancheTV est une chaîne
    sFeuilleTV est une chaîne
     
    // Initialisation
    ArbreAjoute(ARBRE_Etiquettes,sRacineTV,IMG_Dossierracine,IMG_Dossierracine)
     
    // Groupes des produits
    i=0
    BOUCLE
    	i++
    	HLit(FTypesProduits,i)
    	SI HEnDehors() ALORS SORTIR
    	SI (HEtat()=hEtatActif) ALORS
    		// Création du groupe des types de produit dans le TreeView
    		sBrancheTV=SansEspace(FTypesProduits.NomTypeProduit)
    		ArbreAjoute(ARBRE_Etiquettes,sRacineTV+TAB+sBrancheTV,IMG_Typefermes,IMG_Typeouvert,aDéfaut,aDéfaut,"G"+FTypesProduits.IDFTypesProduits)
    		ArbreDéroule(ARBRE_Etiquettes,sRacineTV+TAB+sBrancheTV)
    		// Recherche des Familles de produits affectées à ce groupe
    		HLitRecherche(FFamillesProduits,NomTypeProduit,FTypesProduits.NomTypeProduit)
    		TANTQUE HTrouve()
    			ArbreAjoute(ARBRE_Etiquettes,sRacineTV+TAB+sBrancheTV+TAB+SansEspace(FFamillesProduits.NomFamillesProduits),IMG_Dossierfermé,IMG_Dossierfermé,"P"+FFamillesProduits.IDFFamillesProduits)
    			HLitSuivant(FFamillesProduits,NomTypeProduit)
    		FIN
    	FIN
    FIN
    J'ai ma Racine, mes Noeuds, mais lorsque j'essaye d'ajouter mes feuilles soit rien ne s'affiche ou tous dans un noeud au hasard.

    Merci de votre aide.

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 810
    Points : 5 269
    Points
    5 269
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Il est préférable d'initialiser les parcours par les fonctions suffixées par Premier/Dernier. Cela peut avoir une influence au niveau de la recherche. Si le pointeur est déjà sur le dernier enregistrement, il retourne la position de cet enregistrement, et il ne trouve pas d'enregistrement suivant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    	HLitPremier(FTypesProduits,i)
    	TANTQUE HTrouve(FTypeProduit)
    		// Création du groupe des types de produit dans le TreeView
    		sBrancheTV=SansEspace(FTypesProduits.NomTypeProduit)
    		ArbreAjoute(ARBRE_Etiquettes,sRacineTV+TAB+sBrancheTV,IMG_Typefermes,IMG_Typeouvert,aDéfaut,aDéfaut,"G"+FTypesProduits.IDFTypesProduits)
    		ArbreDéroule(ARBRE_Etiquettes,sRacineTV+TAB+sBrancheTV).
     
    		// Recherche des Familles de produits affectées à ce groupe
    		HLitRecherchePremier(FFamillesProduits,NomTypeProduit,FTypesProduits.NomTypeProduit)
    		TANTQUE HTrouve(FFamillesProduits)
    	 ArbreAjoute(ARBRE_Etiquettes,sRacineTV+TAB+sBrancheTV+TAB+SansEspace(FFamillesProduits.NomFamillesProduits),IMG_Dossierfermé,IMG_Dossierfermé,"P"+FFamillesProduits.IDFFamillesProduits)
    			HLitSuivant(FFamillesProduits,NomTypeProduit)
    		FIN
                    HLitSuivant(FtypeProduit)
    	FIN
    Dans le cas de ton problème, il aurait été souhaitable d'utiliser le mode Pas à pas.

    Il y a aussi la version "Compacte"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    PROCÉDURE RemplirArbre(chNomArbre est Champ)
    sNomBranche est une chaîne
    sNomFeuille est chaîne
    sCondition est chaîne
     
    ArbreAjoute(chNomArbre,"Racine")
    POUR TOUT TypeProduit 
    	sNomBranche=ChaîneConstruit("Racine%1%2",TAB,TypeProduit.Type)
    	ArbreAjoute(chNomArbre,sNomBranche)
    	sCondition=ChaîneConstruit("FK_TypeProduit=%1",TypeProduit.PK_TypeProduit)
    	POUR TOUT Famille  AVEC sCondition
    		sNomFeuille=ChaîneConstruit("%1%2%3",sNomBranche,TAB,Famille.Famille)
    		ArbreAjoute(chNomArbre,sNomFeuille)
    	FIN
    FIN
    ArbreDérouleTout(chNomArbre)
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 87
    Points : 52
    Points
    52
    Par défaut
    Merci pour ces 2 solutions

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Ajouter des feuilles les une après les autres VBA
    Par Stroub dans le forum Excel
    Réponses: 1
    Dernier message: 22/11/2012, 18h40
  2. ajouter des données à TreeView
    Par sky88 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 19/01/2010, 11h12
  3. Empêcher la modification des formules après ajout de feuilles.
    Par jojo86 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 17/10/2009, 19h58
  4. Réponses: 5
    Dernier message: 19/08/2009, 12h57
  5. Ajouter des noeuds fils à une treeview
    Par Lynecoln dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 01/10/2006, 19h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo