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 :

Remplir un Combo box selon une valeur


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 30
    Points : 29
    Points
    29
    Par défaut Remplir un Combo box selon une valeur
    Bonjour,

    Lorsque je double clique sur le datagrid dans mon premier formulaire, j'ouvre un formulaire de ligne de commande, dans ce formulaire j'ai un combo box "Item" et un combo "Taille" dans ma BD dans la table "Taille" j'ai un champs nItemID alors dans le combo boc Taille je dois afficher seulement les chmaps qui sont associées à l'item choisi dans le comboItem

    voici le code que j'ai mais je n'arrive pas à trouver la valeur de l'Item

    Code pour la combo de Item

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     //Remplir le combo de Item
    DataSet _dsItems = new DataSet();
    OleDbDataAdapter _daItem = new OleDbDataAdapter("SELECT * FROM tb_Items", cn);
    _daItem.TableMappings.Add("Table", "Item");
    _daItem.Fill(_dsItems);
     
    cboItem.DataSource = _dsItems;
    cboItem.DisplayMember = "Item.csItem";     // Define the field to be displayed
    cboItem.ValueMember = "Item.nItemID";      // Define the field to be used as t
    cboItem.DataBindings.Add("SelectedValue", _dsLigneCommande, "LigneCommande.nItemID");

    Code pour le combo de taille

    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
     
    //Remplir le combo de taille
    DataSet _dsTaille = new DataSet();
    OleDbDataAdapter _daTaille = new OleDbDataAdapter();
    OleDbCommand command;
     
    // Create the SelectCommand.
    command = new OleDbCommand("SELECT * FROM tb_Taille WHERE nItemID = ?", cn);
    command.Parameters.Add("Item", OleDbType.VarNumeric, 3);
    _daTaille.SelectCommand = command;
     
    _daTaille.TableMappings.Add("Table", "Taille");    
    _daTaille.Fill(_dsTaille );
     
    this.cboTaille.DataSource = _dsTaille;
    cboTaille.DisplayMember = "Taille.csTaille";     // Define the field to be displayed
    cboTaille.ValueMember = "Taille.nTailleID";      // Define the field to be used as t
    cboTaille.DataBindings.Add("SelectedValue", _dsLigneCommande, "LigneCommande.nTailleID");
    Comment je peux trouver la valeur de nItemId que je devrais mettre dans la requete

    Merci

  2. #2
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    La propriété Text du Combobox contient la valeur sélectionner dans celui-ci.

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 30
    Points : 29
    Points
    29
    Par défaut
    merci lilroma pour votre réponse

    mais j'ai essayé de mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int nItem = (int)cboItem.text;
    _daTaille.Fill(_dsTaille, nItem  );
    1- j'ai eu un message d'erreur

    Ce que je veux savoir comment je pourrais savoir la valeur de mon nItemID est ce que il y a une facon de chercher une valeur à partir de DataSet ?

    Merci

  4. #4
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    La valeur de ton combobox doit être utiliser comme paramétré dans ta requête pour remplir ton second Combo.

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 30
    Points : 29
    Points
    29
    Par défaut
    Merci beaucoup

    Si ca interesse quelqu'un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Object _oID = _dsLC.Tables[0].Rows[0]["nID"];
    _nID = Convert.ToInt32(_oID);
     OleDbDataAdapter _daTailleCust = new OleDbDataAdapter();
    OleDbCommand _commandCust = new OleDbCommand("SELECT * FROM tb_Taille WHERE nItemID = ? AND Len(csTaille) < 4", cn);
    _commandCust.Parameters.Add("@p1", OleDbType.Integer, 12).Value = _nID;

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

Discussions similaires

  1. Remplissage combo box selon le résultat d'une autre
    Par IhaveNoName dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 29/07/2011, 10h44
  2. remplir des combo box par une fonction ?
    Par angelevil dans le forum VB.NET
    Réponses: 5
    Dernier message: 07/10/2010, 00h12
  3. [MySQL] Sauver valeur de Combo Box dans une session PHP
    Par Namson dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 13/08/2010, 11h34
  4. [XL-2007] Combo box et renvoie valeur dans une cellule!
    Par bedoch dans le forum Excel
    Réponses: 1
    Dernier message: 16/03/2010, 00h59
  5. combo box afficher plusieurs valeurs d'une requête
    Par Cupidon dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/10/2008, 18h10

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