none
c# SQLCE charger les tables dans un treeview RRS feed

  • Question

  •  Bonjour a tous mon probleme est le suivant

    je narrive pas a fair fontionner cette commande

     public void PopulateTree(string dir, TreeNode node)
            { 
                SqlCeConnection cn = new SqlCeConnection(C.ConnectString()); 
                //Verifie l'etat de base de données
                if (cn.State == ConnectionState.Closed)
                {
                    //Ouvrir la base de données si fermer
                    cn.Open();
                }
                //Déclaration de la SqlCeCommand
                SqlCeCommand cmd = cn.CreateCommand();
                /*-----------------------------------------------------------------*/
                cmd.CommandText = "SELECT MyDir.MDName, MyFile.MFName, MyFile.MFText FROM MyDir INNER JOIN MyFile ON MyDir.MDId = MyFile.MDId";
                SqlCeDataReader sdr = cmd.ExecuteReader();
                while (sdr.Read())
                { 
                    // create a new node
                    TreeNode t = new TreeNode(sdr["MDName"].ToString()); 
                    // populate the new node recursively
                    //PopulateTree(sdr["MDName"].ToString(), t);
                    // add the node to the "master" node
                    node.Nodes.Add(t);
                    node.ImageIndex = 0;
                    node.SelectedImageIndex = 0; 
                    
                    
                                   
                    // create a new node
                    TreeNode tf = new TreeNode(sdr["MFName"].ToString());                
                    tf.ImageIndex = 1;
                    tf.SelectedImageIndex = 1;
                    // add it to the "master"
                    node.Nodes.Add(tf);
                }
                sdr.Close(); 
                cn.Close();
                 
                
            }

    elle me donne ceci

    1

    Le titre daniel n'est pas  a la bonne place il devrait normalement etre un childnodes de C#

    si on peut m'aider la dessus

    Merci


    Daniel

    lundi 14 mai 2012 18:25

Réponses

  • Salut,

    au niveau de ta ligne

     // add it to the "master"
                    node.Nodes.Add(tf);

    essai plutôt

     // add it to the "master"
                    node.Nodes(0).Nodes(0).Add(tf);



    la FOI déplace les montagnes et bien DOTNET les effaces complétement.

    • Marqué comme réponse DanielMorais mardi 15 mai 2012 13:59
    mardi 15 mai 2012 08:16
  • Bonjour MMW01

    Merci pour ton intervention

    le code que tu me donne je l'ai finallement remplacer par

    node.Nodes[0].Nodes.Add(tf);

     ca fonctionne pour l'instant il me reste qu'a ajouter d'autre ligne de données a ma base et voir ou cela me conduit

    Merci encore


    Daniel

    • Marqué comme réponse DanielMorais mardi 15 mai 2012 13:59
    mardi 15 mai 2012 13:59

Toutes les réponses

  • Salut,

    au niveau de ta ligne

     // add it to the "master"
                    node.Nodes.Add(tf);

    essai plutôt

     // add it to the "master"
                    node.Nodes(0).Nodes(0).Add(tf);



    la FOI déplace les montagnes et bien DOTNET les effaces complétement.

    • Marqué comme réponse DanielMorais mardi 15 mai 2012 13:59
    mardi 15 mai 2012 08:16
  • Bonjour MMW01

    Merci pour ton intervention

    le code que tu me donne je l'ai finallement remplacer par

    node.Nodes[0].Nodes.Add(tf);

     ca fonctionne pour l'instant il me reste qu'a ajouter d'autre ligne de données a ma base et voir ou cela me conduit

    Merci encore


    Daniel

    • Marqué comme réponse DanielMorais mardi 15 mai 2012 13:59
    mardi 15 mai 2012 13:59
  • Bonjour,

    Si l'on veut charger une arborescence arbitraire complète cela sera effectivement un peu plus "sioux" que cela avec deux grandes méthodes :
    - Soit récursivement ce qui est probablement un peu plus simple
    - Ou en triant les données et en accrochant chaque élément traité à son parent

    Ouvrir éventuellement une nouvelle question si besoin (sinon la nouvelle question sera moins visible si elle postée dans cette même discussion déjà marquée comme "répondue").


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    mardi 15 mai 2012 16:52
    Modérateur