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 :

listBox1.SelectedValue => System.Data.DataRowView


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 402
    Par défaut listBox1.SelectedValue => System.Data.DataRowView
    Bonjour ou re bonjour peut-être.

    J'ai dans mon programme une connexion sur une base de données qui permet de lister toutes (ou presque) les communes de France. Toutes ces communes sont répertoriées dans une ListBox. Jusque là ça marche sans soucis.

    Ce que je veux faire c'est que quand l'utilisateur clique sur un bouton, le code postal (qui est l'ID de ma commune) soit affiché dans un TextBlock.

    C'est dans la requête qu'arrive mon problème. Je vois ma requête telle que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string sql2 = "SELECT CP FROM insee$ WHERE Commune=" + listBox1.SelectedValue;
    Mais ça ne marche pas car il prend listBox1.SelectedValue comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Data.DataRowView
    Pourtant dans la liste ce sont bien les noms des communes qui sont affichés car j'ai ajouté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listBox1.DisplayMemberPath = "Commune";
    Si quelqu'un voit comment je peux résoudre ça :] je lui serait en reconnaissant

  2. #2
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut
    Salut,

    As-tu pensé à indiquer qu'il y a une liaison de données dans itemssource du listbox?

    Code XAML : Sélectionner tout - Visualiser dans une fenêtre à part
    ItemsSource="{Binding}"

    Autrement essayes d'utiliser SelectedItem pour voir.

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 402
    Par défaut
    Merci de suivre mon poste

    j'ai bien indiqué la liaison dans le xaml et quand je teste avec le SelectedItem ça me fait la même chose aussi :/

    Les seuls choses que j'ai pu trouver sur le net sont en VB et pas en C# :/

  4. #4
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut
    J'ai vu dans ton précédent poste que tu faisais ça:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    adapter.Fill(dtSet);
    listBox1.DataContext = dtSet;

    As-tu essayé d'indiquer la table concernée pour DataContext:

    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    listBox1.DataContext = dtSet.Tables("NomDeLaTable")
    listBox1.DisplayMemberPath = "Commune"

  5. #5
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 402
    Par défaut
    quand j'essaye ce que ce code ça me dit que Tables dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listBox1.DataContext = dtSet.Tables("NomDeLaTable")
    ne peut être utilisé comme une méthode.

  6. #6
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut
    C'est du code vb, la syntaxe est peut-être différente en c#....

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

Discussions similaires

  1. VS 2008 System.Data.DataRowView
    Par Stoutain dans le forum VB.NET
    Réponses: 1
    Dernier message: 19/11/2010, 11h33
  2. item listbox system.data.datarowview
    Par gelwc dans le forum VB.NET
    Réponses: 4
    Dernier message: 22/03/2010, 20h16
  3. Réponses: 7
    Dernier message: 20/07/2009, 21h42
  4. [vs2003] c# combobox System.Data.DataRowView
    Par wayak3 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/06/2009, 11h12

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