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

Algorithmes et structures de données Discussion :

Chargement Treeview de manière récursive


Sujet :

Algorithmes et structures de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 212
    Par défaut Chargement Treeview de manière récursive
    Bonjour à tous,

    Je fais appel à vous car je suis totalement perdu.

    Je m'explique, j'ai une base de données et je voudrais charger une table sous forme de treeview. Mais ça coince ! Je n'y arrive pas du tout.

    Voici ma table au format access:

    IdCategorie (numérique)
    NomCategorie (texte)
    AnnotationCategorie (memo)
    ParentCategorie (numérique) 'indique l'Id de la catégorie Parent (-1 si pas de parent)
    NiveauCategorie (numérique) 'indique le niveau (1 puis 2 puis 3....)

    Comment implémenter le chargement du treeview de manière récursive ?

    Merci beaucoup pour vos réponses

    Ludo

  2. #2
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    salut,

    y'a plein de trucs que je comprends pas:

    - avec quel tookit tu cree un treeview
    - pourquoi tu veut le faire récursivement
    - c'est quoi une catégorie dans ton exemple

  3. #3
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Tu ne feras pas un chargement résursif du treeview, mais éventuellement une insertion récursive de chaque nouveau noeud à partir de la racine du treeview.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 212
    Par défaut
    Bonsoir,

    Citation Envoyé par mamelouk
    - avec quel tookit tu cree un treeview
    Avec VB2005 express edition

    Citation Envoyé par mamelouk
    - pourquoi tu veut le faire récursivement
    car une base de données est un objet dynamique

    Citation Envoyé par mamelouk
    - c'est quoi une catégorie dans ton exemple
    Ca peut être tout et n'importe quoi. C'est au choix de l'utilisateur. Un peu comme les dossiers et sous-dossiers de windows.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 212
    Par défaut
    Citation Envoyé par Trap D
    Tu ne feras pas un chargement résursif du treeview, mais éventuellement une insertion récursive de chaque nouveau noeud à partir de la racine du treeview.
    Oui voilà c'est ça ! Le treeview subira des insertions des noeuds enfants de manière récursive et sera généré entièrement de cette façon. Mais je ne sais pas comment l'implémenter. Mon problème il est là

  6. #6
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Où en es-tu ?
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 212
    Par défaut
    C'est bon j'ai réussi grâce à l'aide de Caramelmou sur un autre forum.

    Il m'a super bien aiguillé jusqu'à ce que je code la bonne solution.

    Voili

    Merci pour l'intérêt que tu portes à mon problème en tout cas

    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
        Public Sub GénérerNoeud(ByVal IdCat As Integer, ByVal myNode As TreeNode)
            Dim tvNode As TreeNode
            Dim intIdCategorie As Integer
            Dim strNomCategorie As String = ""
            Dim rs As New ADODB.Recordset
     
            rs.Open("SELECT * FROM T_Categorie WHERE ParentCategorie=" & IdCat, db, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)
            While Not rs.EOF
                intIdCategorie = rs.Fields(0).Value
                strNomCategorie = rs.Fields(1).Value 'récup du nom de la catégorie
                tvNode = myNode.Nodes.Add(intIdCategorie, strNomCategorie) 'Ajout du nom de la catégorie
                GénérerNoeud(intIdCategorie, tvNode)
                rs.MoveNext()
            End While
            rs.Close()
        End Sub

  8. #8
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Parfait, alors un petit clic sur
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

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

Discussions similaires

  1. Chargement TreeView à partir d'une base Firebird
    Par ameno_123 dans le forum Delphi
    Réponses: 2
    Dernier message: 05/02/2007, 07h50
  2. [Tableaux] Construire un tableau de manière récursive
    Par eclipse012 dans le forum Langage
    Réponses: 26
    Dernier message: 23/01/2007, 15h59
  3. [VB2005] Chargement Treeview
    Par exclusif dans le forum Windows Forms
    Réponses: 3
    Dernier message: 22/01/2007, 22h49
  4. [XSLT] remplacement de noeuds de manière récursive
    Par daniel_r dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 24/10/2005, 20h13
  5. [Zip] Dézipper de manière récursive
    Par Sfeabg dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 08/03/2005, 16h24

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