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 :

Combobox lié à un dataset


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2006
    Messages : 35
    Points : 24
    Points
    24
    Par défaut Combobox lié à un dataset
    Salut à vous!

    J'essaye de faire une chose plutôt anodine, mais je blogue hehe! Je suis un peu rouillé en C#...

    J'essaie de linké un combobox à un dataset de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    MySqlBD mysqldb = new MySqlBD();
     
    DataSet users = mysqldb.GetListeUsers();
    cboTemplates.DataSource = users.Tables[0];
    cboTemplates.DisplayMember = users.Tables[0].Columns[0].ColumnName;
    cboTemplates.ValueMember = users.Tables[0].Columns[0].ColumnName;
    J'ai bel et bien 1 row dans mon dataset, mais rien ne s'affiche. Est-ce qu'il me manque quelque chose?

    Merci de votre aide!

  2. #2
    Membre confirmé Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Points : 569
    Points
    569
    Par défaut
    Bonjour,

    ton code me semble bien fais, essaye juste de regarder le DataTable users.Tables[0] en question s'il contient des lignes de données.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Redouane me = new Redouane();
    if (me.Connect())
        me.ShareInformations();

  3. #3
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    A première vue ton code est juste.

    As-tu vérifié que ColumnName n'est pas vide ?
    Et que le DataSource de la ComboBox contient bien quelque chose après l'avoir bindé avec le DataSet ?
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2006
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    Tel que mentionné, ma Tables[0].Rows.Count = 1 Alors il y a vraiment une ligne de données dans le dataset.

    Je me suis aussi assuré que les column names étaient bons et c'est le cas.

    J'ai aussi vérifié que la valeur affichée, dans la table, n'était pas nulle et c'est le cas.

  5. #5
    Membre confirmé Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Points : 569
    Points
    569
    Par défaut

    je sais que c'est une question bete, mais tu appelle où ton code de mappage de ton combobox ?
    juste pour avoir plus d'infos ;-)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Redouane me = new Redouane();
    if (me.Connect())
        me.ShareInformations();

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2006
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    Il n'y a pas de question bête

    Je fais mon binding sur mon Form load.

    J'ai aussi ajouté à la fin de mon binding ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataTable tbl = (DataTable)cboTemplates.DataSource;
    Et ait vérifié que tbl.Rows.Count =1 et c'est le cas Donc le datasource a bel et bien une row

    Et laedit, oui, le users.Tables[0].Columns[0].ColumnName contient bien "cip" dedans.

  7. #7
    Membre confirmé Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Points : 569
    Points
    569
    Par défaut
    et avec l'appel du nom de colonne directement, est ce que ça marche ?:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cboTemplates.DataSource = users.Tables[0];
    cboTemplates.DisplayMember = "cip";
    cboTemplates.ValueMember = "cip";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Redouane me = new Redouane();
    if (me.Connect())
        me.ShareInformations();

  8. #8
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Ta ligne a t-elle une valeur pour la colonne 'cip' ?
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2006
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    hahaha! Est-ce que le copier-coller est vraiment un avantage dans un monde de programmation?

    J'ai 2 combo box dans mon forum et quand j'ai copié-collé j'ai omis de changer le nom du combo... Pas fort!

    Merci de m'avoir aiguiller pour trouver mon erreur!

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

Discussions similaires

  1. [Débutant]Combobox liée au dataset ()
    Par bilou972 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 07/10/2008, 22h00
  2. Ajouter combobox dans datagridview + dataset
    Par Gdal dans le forum VB.NET
    Réponses: 1
    Dernier message: 30/05/2007, 00h09
  3. [.NET 1.1]Combobox à partir de DataSet
    Par belzeluc dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/04/2007, 16h45
  4. Liaison entre un comboBox et un dataset
    Par robocop2776 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/01/2007, 19h02
  5. Réponses: 4
    Dernier message: 30/03/2005, 19h30

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