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

C# Discussion :

probleme combobox selectedValue [Débutant]


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 62
    Points : 57
    Points
    57
    Par défaut probleme combobox selectedValue
    Bonjour à vous tous!

    j'ai un petit souci j'ai un comboBox qui n'accete pas toujours les selectedValue j'ai tout essayé voila le code en resumé :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //dt est un dateTable qui contient le retour d'un 'select'
    maVariable = (Guid)dt.Rows[0]["idCour"];
    this.comboBoxCour.DataSouce = dt;
    this.comboBoxCour.DisplayMember = 'INTITULE';
    this.comboBoxCour.ValueMember= 'idCour';
    this.comboBoxCour.SelectedValue = maVariable; //le probleme est ici
    le probleme est le comboBox refuse de sélectionner la variable pourtant il est bien chargé le l'id est le bon.
    j'ai essayé de debugé quand je fais une execution pas à pas 'maVariable' contient bien le bon Guid cependant selectedValue = 'null' tout au long de l’exécution.

    je pense que j'ai été claire dans mes explications. Si vous avez des idées sur ce qui peut être à l'origine de ce bug ou comment le corrigé je suis preneur sachant que les données récupérées dans la base de données sont bien les bonnes donnée et que la même méthode marche dans une autre classe.

    Je vous remercie par avance de vos reponses.

  2. #2
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    Bonjour,

    Le problème est que tu écris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //dt est un dateTable qui contient le retour d'un 'select' maVariable = (Guid)dt.Rows[0]["idCour"]; this.comboBoxCour.DataSouce = dt; this.comboBoxCour.DisplayMember = 'INTITULE'; this.comboBoxCour.ValueMember= 'idCour'; this.comboBoxCour.SelectedValue = maVariable; //le probleme est ici
    une chaine de caractères en c#, c'est entre double quote ".
    Remplace par "INTITULE" et "idCour". ça ne doit même pas compiler!!!

    Bon dév.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 62
    Points : 57
    Points
    57
    Par défaut
    Merci de ta réponse
    en effet les chaines de caractère sont en double quotte c'est bien ce que j'ai mis dans mon code et j'arrive à compiler c'est juste en écrivant sur le forum que je me suis trompé désolé!

    Si tu as une idée pour corrigé le bug je suis preneur.

    Merci par avance

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 066
    Points : 4 233
    Points
    4 233
    Par défaut
    et si tu cast pas ta variable en Guid as-tu le même problème ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var maVariable = dt.Rows[0]["idCour"];

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 62
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par youtpout978 Voir le message
    et si tu cast pas ta variable en Guid as-tu le même problème ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var maVariable = dt.Rows[0]["idCour"];
    Merci de ta réponse,

    En fait je peux pas utiliser les 'var' vue que je suis à une version du Framework qui ne les supporte pas (2)
    j'ai testé la méthode suivante aussi et j'ai toujours le même problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //1
    Guid maVariable = new Guid(dt.Rows[0]["idCour"].ToString());
    Et aussi la méthode consistant à affecter le dataTable directement au 'selectedValue' sans passer par une variable.

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 066
    Points : 4 233
    Points
    4 233
    Par défaut
    tu es sur que ta donnée est de type guid et que dans ta combobox les données sont bien chargé ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.comboBoxCour.SelectedValue = dt.Rows[0]["idCour"];

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Points : 359
    Points
    359
    Par défaut
    Bonjour à tous,

    Essaye se code là car il fonctionne chez moi pour du Winform

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
                DataTable newDataTable = new DataTable();
                newDataTable.TableName = "MaTable";
                newDataTable.Columns.Add("idCour");
                newDataTable.Columns.Add("INTITULE");
     
                newDataTable.Rows.Add(new object[]{ Guid.NewGuid(), "MonPremier"});
                newDataTable.Rows.Add(new object[]{ Guid.NewGuid(), "MonSecond"});
                newDataTable.Rows.Add(new object[]{ Guid.NewGuid(), "MonTroisieme"});
                comboBox.DataSource = newDataTable;
                comboBox.DisplayMember = "INTITULE";
                comboBox.ValueMember = "idCour";
                comboBox.SelectedValue = newDataTable.Rows[2]["idCour"];
    Ma Combo me montre MonTroisieme

    PS: Si c'est vraiment pour utiliser la valeur 0 par défaut et unique celle-là c'est inutile car c'est celle utilisé de base

  8. #8
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Points : 1 454
    Points
    1 454
    Billets dans le blog
    9
    Par défaut
    tu peux utilisé ce propriété

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    comboBox.DataSource = newDataTable;
    comboBox.DisplayMember = "INTITULE";
    comboBox.ValueMember = "idCour"; 
    comboBox.SelectedValue = newDataTable.Rows[2]["idCour"];
    ça va fonctionné

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 62
    Points : 57
    Points
    57
    Par défaut
    salut à tous,
    j'ai résolu mon problème la solution es bizarre et toute bête
    encfait ce que j'avais fait marche ainsi que les solutions que vous avez donné c'est logique. j'ai tout simplement nettoyer ma solution puis régénérer chaque projet et la solution et cela marche très bien c'est bizzar et je comprends pas trop pourquoi ça bloquais avant cette opération ni pourquoi ce marche après c'est surement Visual studio qui a bugais

    Merci pour votre aide!!

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

Discussions similaires

  1. Probleme combobox access vb.net
    Par ghis33 dans le forum VB.NET
    Réponses: 2
    Dernier message: 26/01/2011, 17h59
  2. ptit probleme combobox sous vba/excel
    Par bandito dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/10/2006, 09h34
  3. [C++.Net] Probleme combobox & datagrid
    Par raboin dans le forum VC++ .NET
    Réponses: 16
    Dernier message: 12/04/2006, 16h33
  4. [MFC]Probleme ComboBox
    Par Raton dans le forum MFC
    Réponses: 2
    Dernier message: 27/03/2006, 10h36
  5. Probleme combobox et ini
    Par Techsan dans le forum Langage
    Réponses: 3
    Dernier message: 24/01/2003, 19h16

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