begin process at 2012 02 10 07:36:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Base de données

 > 

XML

 > 

Xml - TreeView : pb ^^


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Xml - TreeView : pb ^^

mercredi 31 mai 2006 à 00:48:07 | Xml - TreeView : pb ^^

Dami_bachelet

Bonjour tout le monde, comment allez-vous dans ce monde de la programmation ^^ ?

J'ai besion de votre aide concernant un petit prog qui utilise des documents xml et un treeview... j'ai mis ce topic ici, car meme si pour l'instant mon pb n'est pas totalement sur le xml, je pense que je v en avoir bientot ;p...

J'ai donc un pb avec le treeview, j'aimerais assigner plusieurs valeurs pour un node dans le treeview, comme ca on pourrait avoir plusieurs sortie pour un appel de node...

Javais lu un truc vachement sympa qui permettait de faire la meme chose avec des listbox, c'était genial, mais je n'arrive pas a trouver de meme pour les treevieew...

Bon, pour pas vous laisser sans rien sous la dent ^^ je vous passe les infos pour :

J'ai 2 fichiers xml, liste.xml :
<liste>
    <ordinateur poste="nom_du_poste">
       <fonction>fonction_de_lutilisateur</fonction>
       <nom>nom_du_susnommeplushaut</nom>
    </ordinateur>
</liste>

 et groupes.xml :
<triage>
    <organisation nom="org_01">
       <groupe nom="grp_01">
          <poste>poste_01</poste>
          <poste>poste_02</poste>
       </groupe>
    </organisation>
</triage>

de plus... j'ai réussi apres pas mal d'echecs (je suis novice en c#) a faire ca... :

XmlDocument doc_xml = new XmlDocument();
            doc_xml.Load("c:/groupes.xml");

            XmlNode xml_org = doc_xml.DocumentElement.FirstChild; // Organisation côté Xml
            foreach (XmlNode groupe in xml_org.ChildNodes)
            {
                XmlNode xml_grp = doc_xml.DocumentElement.FirstChild.FirstChild; // Groupe côté Xml
                TreeNode tre_grp = new TreeNode(groupe.Attributes["nom"].InnerText); // Groupe côté Tree
                foreach (XmlNode poste in groupe.ChildNodes)
                {
                    XmlDocument doc_xml_liste = new XmlDocument();
                    doc_xml_liste.Load("c:/liste.xml");

                    XmlNodeList recherche_poste = doc_xml_liste.SelectNodes("//ordinateur[@poste='" + poste.InnerText + "']");
                    foreach (XmlNode id_poste in recherche_poste)
                    {
                        tre_grp.Nodes.Add(new TreeViewNode(poste.InnerText, id_poste.FirstChild.InnerXml, id_poste.LastChild.InnerXml));
                    }
                }
                treeView1.Nodes.Add(tre_grp);

Bon, ici le seul pb c'est ca :
tre_grp.Nodes.Add(new TreeViewNode(poste.InnerText, id_poste.FirstChild.InnerXml, id_poste.LastChild.InnerXml));

le fameux truc que j'ai mochement pompé (sur ce site en plus...) et que je n'ai pas réussi a faire marcher avec les treeviews

avez vous des idées ???

mercredi 31 mai 2006 à 08:53:58 | Re : Xml - TreeView : pb ^^

Bidou

Administrateur CodeS-SourceS
Salut,
La méthode Add prendre un TreeNode et pas un TreeViewNode en argument. D'où l'erreur...




VC# forever
mercredi 31 mai 2006 à 15:20:18 | Re : Xml - TreeView : pb ^^

Dami_bachelet

Tu pourrais m'en dire plus sur les TreeNode ? Comment je peux les utiliser ?
mercredi 31 mai 2006 à 15:25:53 | Re : Xml - TreeView : pb ^^

Bidou

Administrateur CodeS-SourceS
TreeNode sur MSDN



VC# forever
lundi 5 juin 2006 à 00:33:12 | Re : Xml - TreeView : pb ^^

Dami_bachelet

sinon, je suis arrivé a mettre un tag, mais le probleme c'est que je veux en mettre un autre, comment je dois faire ?
lundi 5 juin 2006 à 02:03:51 | Re : Xml - TreeView : pb ^^

Dami_bachelet

bon, au lieu de chercher a mettre 2 tag, g juste mis une "," entre les 2 infis et g utilisé un split. Mais g une autre question : j'aimerais pouvoir trouver le dernier node, dans un if, pour n'executer un bout de code que si c'est le dernier node. J'ai visual studio 2003, il ny a pas le precieux "level" de la version 2005... avez-vous une id ?
lundi 5 juin 2006 à 09:21:13 | Re : Xml - TreeView : pb ^^

Bidou

Administrateur CodeS-SourceS
Salut,
Le tag prend un object comme valeur, il suffit donc de créer une classe qui contient tout tes types et de passer cette classe à ton tag (si tu peux vraiment pas faire autrement).

Pour accéder au dernier TreeNode, est-ce que tu ne peux pas faire qqch comme ceci :
TreeNode lastNode = this.treeView.Nodes[this.treeView.Nodes.Count - 1];



VC# forever
mercredi 7 juin 2006 à 01:45:48 | Re : Xml - TreeView : pb ^^

Dami_bachelet

Merci, ca marche !!!

Autre petit probleme, avec le xml et les treeviews :

private void Form1_Load(object sender, EventArgs e)
       {
           treeView1.Nodes.Clear();
           XmlDocument doc_xml_groupes = new XmlDocument();
           doc_xml_groupes.Load("c:/groupes.xml");

           XmlNode xml_rot_groupes = doc_xml_groupes.DocumentElement; // Root côté Xml
           foreach (XmlNode organisation in xml_rot_groupes)
           {
               TreeNode tre_org = new TreeNode(organisation.Attributes["nom"].InnerText); // Création des nodes Organisation
               foreach (XmlNode groupe in organisation.ChildNodes)
               {
                   TreeNode tre_grp = new TreeNode(groupe.Attributes["nom"].InnerText); // Création des nodes Groupe
                   foreach (XmlNode poste in groupe.ChildNodes)
                   {
                       XmlDocument doc_xml_liste = new XmlDocument();
                       doc_xml_liste.Load("c:/liste.xml");

                       XmlNode xml_rot_liste = doc_xml_liste.DocumentElement;
                       XmlNodeList recherche_poste = xml_rot_liste.SelectNodes("//ordinateur[@poste='" + poste.InnerText + "']");
                       foreach (XmlNode id_poste in recherche_poste)
                       {
                           TreeNode tre_pst = new TreeNode(id_poste.FirstChild.InnerText); // Création des nodes Postes
                           tre_pst.Tag = poste.InnerText + "," + id_poste.LastChild.InnerXml;
                           tre_grp.Nodes.Add(tre_pst); // Insertion des postes dans les groupes
                       }
                   }
                   tre_org.Nodes.Add(tre_grp); // Insertion des groupes dans les organisations
               }
               treeView1.Nodes.Add(tre_org); // Insertion des organisations dans l'arbre
           }
       }

avec ca, ca devrait me mettre des nodes "organisations", puis de dans des nodes "groupes" pour enfin avoir des nodes "postes", le seul pb c'est que ca me met les nodes "postes" que dans le premier node "organisation"... et j'arrive pas a résoudre ce pb...

...pleeeaase help...
mercredi 7 juin 2006 à 08:28:31 | Re : Xml - TreeView : pb ^^

Bidou

Administrateur CodeS-SourceS
Réponse acceptée !
De rien, n'oublie pas de valider les réponses qui t'ont aider.
Sinon pour ton problème, essayes de mettre ça dans le 3ème foreach :

XmlDocument doc_xml_liste = newXmlDocument();
doc_xml_liste.Load(
"liste.xml");
XmlNode xml_rot_liste = doc_xml_liste.DocumentElement;
XmlNode recherche_poste = xml_rot_liste.SelectSingleNode(string.Format("ordinateur[@poste='{0}']", poste.InnerText));
if (recherche_poste != null)
{
  
foreach (XmlNode id_poste in recherche_poste.ChildNodes)
   {
     
TreeNode tre_pst = newTreeNode(id_poste.FirstChild.InnerText); // Création des nodes Postes
     
tre_pst.Tag = poste.InnerText + "," + id_poste.LastChild.InnerXml;
      tre_grp.Nodes.Add(tre_pst);
// Insertion des postes dans les groupes
  
}
}



VC# forever
lundi 12 juin 2006 à 03:50:00 | Re : Xml - TreeView : pb ^^

Dami_bachelet

Merci, ca marche !

Sinon, j'aimerrais désactiver le déroulement des nodes quand on double click dessus, comment dous-je faire ?

1 2

Cette discussion est classée dans : pb, poste, doc, xml, treeview


Répondre à ce message

Sujets en rapport avec ce message

HELP !! XML [ par JCpp ] Ça commence à m'énerver. Grrr.J'ai toujours le même problème :http://www.csharpfr.com/forum.v2.aspx?ID=155596 modifier noeud fichier xml [ par jesusonline ] Voila je suis coincé et j'ai pas le temps de faire de rechercher :( alors je fais appel à vou en esperant avoir une reponse :) Voici le problème j'ai Treeview : erreur de lecture du fichier XML en authentification intégrée [ par Drix78 ] Bonjour,après avoir tenté d'exécuter un sample tout bête du webcontrol treeview, avec un fichier XML, je me suis rendu compte qu'il m'était impossible recherche doc xml c# [ par kakol ] Bonjour,Je suis a la recherche de documentations ou tutoriaux avec exemples expliquant comment lire des fichier xml en c#, et surtout comment recupere Insertion d'un noeud dans un fichier XML [ par lePouns ] Bonjour à tous,Voici mon problème. J'ai un fichier xml comme ceci :           <user name="Gilles" best_score=" parsseur RelaxNG pour doc XML [ par BOULIST ] Boulsalut, j'est besoin d'un validateur(parsseur) pour mes doc XML, mais le validateur doit valider avec un schema RelaxNG (qui est une laternative au Comment relier une source de données XML dynamique à un Crystal Report Viewer ? [ par bpignier ] Bonjour à tous,Merci à tous pour vos questions sur le forum concernant les Crystal report ! Grace à vous, j'ai bien dégrossi mon probleme ! A présent Ajout d'une XmlProcessingInstruction dans un fichier XML en c# [ par adomarle ] Bonjour, Je crée une page asp .net qui envoie par mail un fichier xml représentant le formulaire. Ce fichier xml doit être lu à partir d'un fichier XS creation xml depuis treeview [ par DADAPOINTCOM ] bonjour tout le mondevoila ma question, comment creer un fichier XML depuis un treeview, je pense que ça à l'air simple mais je tourne en rond.Merci@# XML to BD [ par maevacmoi ] Hello !Je rencontre une problème lorsque j'essai d'extraire des données provenant d'un fichier XML, pour les insérer dans une base de données. En fait


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales