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

VB.NET Discussion :

[treeview] retrouver un parent avant d'insérer un enfant


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Par défaut [treeview] retrouver un parent avant d'insérer un enfant
    bonjour,

    J'aimerais savoir comment faire pour retrouver un parent lorsqu'on veut lui insérer un enfant.

    Je cherche à charger directement depuis une BdD un treeview avec ses fils correspondants. chaque noeud possède un id_auto mais aussi un id_pere qui permet de le retrouver.

    J'ai déjà trouver comment parcourir tous les projets pour identifier les liens parents-enfants entre chaque noeud mais le morceau de code pour l'insérer dans le treeview ne marche pas

    voici mon morceau de code qui devrait s'insérer :

    Dim NewNode As TreeNode = New TreeNode
    NewNode.Text = nom_enfant
    NewNode.Value = id_enfant

    NewNode.PopulateOnDemand = True

    NewNode.SelectAction = TreeNodeSelectAction.Expand

    Dim ParentNode As TreeNode = New TreeNode
    ParentNode.Text = nom_racine
    ParentNode.Value = id_racine
    .
    ParentNode.ChildNodes.Add(NewNode)
    Quelqu'un aurait une idée ? Quelqu'un voudrait bien m'éclaircir ?

    Merci...

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    si tu charges tes données depuis une BDD,

    elors pour afficher les parents tu vas faire un "SELECT" sur tes lignes ou ton "id_pere is null".

    Logique,

    quand tu vas vouloir appeller des noeuds enfants, tu devras faire la même chose, mais cette fois ci ta restriction portera sur l'"id_pere".

    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
     Sub PopulateSousNiveau(ByVal thisLevelNode As TreeNode)
            'Requete sur les noeuds enfants, c'es à dire ceux pour lesquels ID_pere n'est pas nul
            Dim MyDataSet As DataSet = RunQuery("SELECT TITRE,IDFrom TaTABLE  WHERE ID_PERE=" & TonNoeudParent.Value 
            If MyDataSet.Tables.Count > 0 Then
                'Parcours des colonnes du Dataset
                Dim row As Data.DataRow
                For Each row In MyDataSet.Tables(0).Rows
                    'Création du nouveau noeud.
                    Dim MyNewChildNode As TreeNode = New TreeNode((row("titre").ToString , (row("POL_ID").ToString))
                    MyNewChildNode.PopulateOnDemand = True
                    MyNewChildNode.Collapse()
                    ' Ajout du nouveau noeud à la collection de noeuds enfants du noeud parents
                    thisLevelNode.ChildNodes.Add(MyNewChildNode)
                Next
            End If
        End Sub

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Par défaut
    oui mais ca je l'ai déjà fait...

    en gros je te récapitule ce que j'ai fait :

    - j'ai dans ma page aspx un treeview avec un attribut qui appelle une fonction vb

    - dans cette fonction j'ai fait un case (j'ai 4 cas)

    - mon premier cas appelle un sous prog qui va permettre de remplir les noeuds racines

    -mon deuxième appelle le sous prog dont je parle qui doit remplir tous les noeuds (noeuds racines et non racines) par leurs sous-noeud qui leur appartiennent. Mais ici j'ai besoin d'avoir son parent, je sais qui c'est mais je n'arrive pas à l'appeler pour pouvoir lui ajouter ses noeuds. dans ton cas il est dans ton sub, moi nan...

    dois-je appeler un autre sous-prog qui l'identifierait ou peut-on l'appeler d'une facon quelconque ou quelque chose?

    pour finir mon case si tu veux savoir après :

    - j'appelle un autre sous-prog qui ajoute les feuilles à tous les derniers noeuds parce que j'ai besoin d'avoir ca mais bon ca, t'inquiete il marche

    - et puis il y a le case else

    Merci quand meme de ton aide! mais si t'arrives a comprendre ce que je dis, t'as peut-être une solution...

    voili voilou, merci!

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Par défaut
    en fait mon pb c'est que si je représente mon treeview sur un schéma je devrais obtenir ceci (je classe par id_pere):

    0(id=1)
    |--1(id=4)
    | |--4
    | 1
    0(id=2)
    |--2(id=3)
    | |--3
    | 2

    (etc)

    et la j'obtiens ceci :

    0
    |--1
    | 1
    | 1
    0
    |--1
    | 1
    | 1

    (etc)

Discussions similaires

  1. Réponses: 11
    Dernier message: 10/12/2007, 13h47
  2. Réponses: 2
    Dernier message: 11/10/2007, 11h57
  3. [Treeview] Changer le parent d'un Node
    Par Aloneghost dans le forum Delphi
    Réponses: 2
    Dernier message: 07/01/2007, 06h25
  4. visualiser avant d'insérer des données
    Par mussara dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 11/07/2006, 14h20
  5. [vb.net][treeview] forcer +/- devant parent
    Par graphicsxp dans le forum Windows Forms
    Réponses: 6
    Dernier message: 29/09/2005, 13h54

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