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 Presentation Foundation Discussion :

Ajout d'une nouvelle personne


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 19
    Par défaut Ajout d'une nouvelle personne
    Bonjour j'ai un problème avec ma combobox.

    Dans ma page ( qui me sert a ajouter des personnes dans un fichier XML ) je n'arrive pas a récupérer les données qui se trouvent dans ma combobox.

    Pour faire simple, j'ai remplis ma combobox avec les différents poste d'une entreprise, mais quand j'essaye de l'utiliser je n'arrive pas a refaire sortir les données.



    voici ma combobox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <ComboBox  Canvas.Left="212" Canvas.Top="60" Height="23" Name="CbbPoste" Width="120" 
                           ItemsSource="{Binding}" >
     
                    <ComboBox.ItemTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding XPath=@type}" />
                        </DataTemplate>
                    </ComboBox.ItemTemplate>
                </ComboBox>



    et voici mon code en dur :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    public static Boolean InsertPersonneEverdyn(StructureLibrary.PersonneEverdyn everdyn)
            {
                XPathNavigator _iNavigator;
                XPathNodeIterator _iNodes;
                Int32 _iID;
                String _iXPathMaxId = "//MaxId";
                String _iXpathPosition = "//Position[@type='" + everdyn._Poste + "']/Personne[last()]";
     
                XmlDocument XmlDoc = new XmlDocument();
                XmlDoc.Load(_urlXML);
                _iNavigator = XmlDoc.CreateNavigator();
     
                // Récupère id max
                _iNodes = _iNavigator.Select(_iNavigator.Compile(_iXPathMaxId));
                _iNodes.MoveNext();
                /* On place l'ID le plus élevé du document dans la variable ID */
                _iID = _iNodes.Current.ValueAsInt;
                /* On incrémente la valeur du noeud MaxID car une fois notre nouveau noeud 
                 * créé, l'ID le plus élevé du document sera aussi incrémenté */
                _iNodes.Current.SetValue((_iID + 1).ToString());
     
                everdyn._Id = (_iID + 1).ToString();
     
                _iNodes = _iNavigator.Select(_iNavigator.Compile(_iXpathPosition));            
     
                if (_iNodes.Count != 0)
                {
                    _iNodes.MoveNext();
                    _iNodes.Current.InsertElementAfter("", "Personne", "", "");
                    _iNodes.Current.MoveToNext(XPathNodeType.Element);
                    _iNodes.Current.AppendChildElement("", "id", "", everdyn._Id);
                    _iNodes.Current.AppendChildElement("", "nom", "", everdyn._Nom);
                    _iNodes.Current.AppendChildElement("", "prenom", "", everdyn._Prenom);
                    _iNodes.Current.AppendChildElement("", "experience", "", everdyn._Experience);
                    _iNodes.Current.AppendChildElement("", "information", "", everdyn._Information);
                    _iNodes.Current.AppendChildElement("", "competence", "", everdyn._Competence);
                    _iNodes.Current.AppendChildElement("", "poste", "", everdyn._Poste);
                    _iNodes.Current.AppendChildElement("", "img", "", everdyn._ImgName.ToString());
                    XmlDoc.Save(_urlXML);
                    return true;
                }
                else
                {
                    return false;
                }
            }
     
            private void BtnInsertPersonne_Click(object sender, RoutedEventArgs e)
            {
     
                Boolean _iInsertSuccess;
              //  String[] _iTabUrl = imgPersonne.Source.ToString().Split('/');
     
                _everdyn = new StructureLibrary.PersonneEverdyn();
                _everdyn._Nom = TxtAjoutNom.Text;
                _everdyn._Prenom = TxtAjoutPrenom.Text;
                // TODO:Recuperer le nom du poste
             //   _everdyn._Poste = "Developpeur";
     
                System.Windows.MessageBox.Show(CbbPoste..ToString());
                _everdyn._Competence = TxtAjoutCompetence.Text;
                _everdyn._Experience = TxtAjoutExperience.Text;
                // TODO:Gerer image
                _everdyn._ImgName = "Images/toto.jpg";
               // everdyn._ImgName = "Images/" + _iTabUrl.GetValue(_iTabUrl.Length - 1).ToString();
                _everdyn._Information = TxtAjoutInformation.Text;
                _iInsertSuccess = InsertPersonneEverdyn(_everdyn);
            }
    j'ai fais pas mal de test avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Windows.MessageBox.Show(CbbPoste..ToString());
    mais je n'arrive pas a mettre la main sur la fonction approprié, SelectedItem, SelectedValue je les est tous fais sans résultat..

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Il faut que tu castes CbbPoste.SelectedItem dans le type qui est utilisé pour remplir ta ComboBox et ensuite, tu auras accès à ton objet.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 19
    Par défaut
    Merci Thomas

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 31/10/2007, 10h54
  2. Ajout d'une nouvelle police dans birt
    Par ruby_robber dans le forum BIRT
    Réponses: 2
    Dernier message: 09/08/2007, 10h47
  3. Réponses: 2
    Dernier message: 07/06/2006, 14h43
  4. Kernel Panic après ajout d'une nouvelle partition
    Par GLDavid dans le forum Administration système
    Réponses: 6
    Dernier message: 25/06/2004, 16h47

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