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

Windows Forms Discussion :

[C#][2.0] Combobox, chargement XML


Sujet :

Windows Forms

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 153
    Points : 138
    Points
    138
    Par défaut [C#][2.0] Combobox, chargement XML
    bonjour

    voilà mon fichier xml

    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
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <serveurs>
    	<serveur>
    		<ip>88.88.88.88</ip>
    		<password>truc</password>
    	</serveur>
    	<serveur>
    		<ip>98.98.98.98</ip>
    		<password>machin</password>
    	</serveur>
    	<serveur>
    		<ip>87.87.87.87</ip>
    		<password>bidule</password>
    	</serveur>
    </serveurs>
    au chargement du Form, je charge les ip dans un ComboBox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private void Form1_Load(object sender, EventArgs e)
            {
                xmlDOc.Load("IP.xml");
     
                XmlNode objRootNode = xmlDOc.DocumentElement;
     
                foreach (XmlNode nd in objRootNode.ChildNodes)
                {
                    cbIP.Items.Add(nd.FirstChild.InnerText);
     
                }
            }
    puis je veux que le password s'affiche dans un textbox lors de la selection d'une IP dans la ComboBox

    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
    private void cbIP_SelectedIndexChanged(object sender, EventArgs e)
            {
     
                //xmlDOc.Load("IP.xml"); 
                XmlNode objRootNode = xmlDOc.DocumentElement;
     
                foreach (XmlNode nd in objRootNode.ChildNodes)
                {
     
                    MessageBox.Show("");
                    if ((string)nd.FirstChild.InnerText == (string)cbIP.SelectedText)
                    {
     
                        txtPass.Text = nd.LastChild.InnerText;
                        break;
                    }
     
                }
            }
    Comme le code est ecrit , tout fonctionne, mais il reste le "MessageBox.Show("");"
    et si je l'enleve, cele ne fonctionne plus :/ aucune erreur apparait, mais le password ne s'affiche pas dans le textbox,

    3 jours que je suis dessus

    merci d'avance pour votre aide

  2. #2
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    Je répond pas à ta question, mais à ta place, je ferais plutot ceci. Vu que les éléments au sein d'un combobox sont de type object, pourquoi ne pas stocker, dès la lecture, toutes les informations dont tu as besoin? Ca t'éviteras de boucler sur ton XML à chaque fois!

    Une classe Pair, qui stocke tes données
    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
    28
    29
     
        class Pair
        {
            private object m_left;
            private object m_right;
     
            public Pair(object left, object right)
            {
                m_left = left;
                m_right = right;
            }
     
            public object Left
            {
                get { return m_left; }
                set { m_left = value; }
            }
     
            public object Right
            {
                get { return m_right; }
                set { m_right = value; }
            }
     
            public override string ToString()
            {
                return Left.ToString();
            }
        }
    Et ton code, adapté, dans la winform:
    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
     
            private void Form1_Load(object sender, EventArgs e)
            {
                XmlDocument xmlDOc = new XmlDocument();
     
                xmlDOc.Load("IP.xml");
     
                XmlNode objRootNode = xmlDOc.DocumentElement;
     
                foreach (XmlNode nd in objRootNode.ChildNodes)
                {
                    comboBox1.Items.Add(new Pair(nd.FirstChild.InnerText, nd.LastChild.InnerText));
                }
            }
     
            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                Pair current = (Pair)comboBox1.SelectedItem;
                textBox1.Text = current.Right.ToString();
            }

Discussions similaires

  1. [AS2] Probleme chargement XML et portée des variables
    Par barok dans le forum ActionScript 1 & ActionScript 2
    Réponses: 11
    Dernier message: 27/09/2007, 12h29
  2. Problème de chargement XML
    Par metfan dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 03/09/2007, 15h48
  3. Chargement XML dans Flash
    Par wiloue dans le forum Flash
    Réponses: 1
    Dernier message: 30/03/2007, 18h25
  4. Numero erreur chargement XML
    Par julio84 dans le forum ASP
    Réponses: 2
    Dernier message: 22/06/2006, 16h16
  5. Chargement xml dynamique
    Par zwck dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/04/2006, 15h56

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