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

Visual Studio Discussion :

Remplir une combo en fonction d'une autre


Sujet :

Visual Studio

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut Remplir une combo en fonction d'une autre
    Bonjour a tous,

    Tout d'abord ma première combo est rempli de la manière suivante :
    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
    public NouvelleIntervention()
    		{
    			InitializeComponent();
     
    			SqlConnection connection;
    			SqlCommand command;
    			SqlDataReader rader;
     
    			connection = new SqlConnection("Data Source=DIST-5B8D87E3A9;Initial Catalog=DistribInfo;Integrated Security=SSPI");
    			command = new SqlCommand("SELECT C_NOMCLT FROM CLIENT", connection);
    			connection.Open();
    			try
    			{
    				rader = command.ExecuteReader();
    				try
    				{
    					while (rader.Read()) 
    					NomClient.Items.Add(Convert.ToString(rader["C_NOMCLT"]));
    				}
    				finally
    				{
    					rader.Close();
    				}
    			}
    			finally
    			{
    				connection.Close();
    			}
    		}
    Et je souhaiterais avoir une deuxième combo qui s'appellerais "NomContact".
    "NomContact" se remplisse selon "NomClient".
    EX : NomCLT
    fr
    gh

    Si je choissit fr, j'aimerais que "NomContact" m'affiche les nom des contacts correspondant a fr.
    Comment puis-je réaliser cela??

    En sachant que le "NumClt" est dans la table "CLIENT" et le "NomContact" se situe dans la table "CONTACT".
    Puis l'identifiant de "NumClt" se situe dans la table "CONTACT" en tant que clé étrangére.

    Merci d'avance.

  2. #2
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Tu mets un événement sur le selectedChange de ton premier combo et dedans tu fais le même style de remplissage que pour le premier sauf que tu rajoutes un where dans ta requête, et le critère sera la valeur récupérée dans le premier combo.

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à LaNat
    Désolé, tu va trouver que je suis chiant mais je n'est pas tout compris ce que ta voulu dire par :
    mets un événement sur le selectedChange de ton premier combo
    Je n'est pas de "SelectedChange" dans mon code pour le moment donc je dois le rajouter ou autre....??

    Ensuite,
    le critère sera la valeur récupérée dans le premier combo.
    pas trop compris ce que tu veux dire par là.

    Dans le "where" , je fais la jointure entre les 2 tables??
    parce que je sait pas si c'est bon mais j'avais l'idée suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT NomCtact
    FROM CONTACT RIGHT JOIN CLIENT ON CONTACT.NumClt = CLIENT.NumClt;
    qu'en pense tu??

    merci d'avance!!

  4. #4
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Tu cliques sur ton premier combo tu vas dans les propriétés events, tu double clique sur SelectedValueChanged et là le code apparaît.
    Tu fais la même manip que pour remplir le premier combo.
    Mais dans tu changes ta requête pour prendre en compte un paramètre supplémentaire : le contenu de ton item sélectionné dans le premier combo.
    Comme en général on ne bosse pas sur les libellés mais sur les identifiants primaires, tu dois récupérer non pas le displayMember mais le valueMember (selectedValue il me semble). A moins que tu ai géré ta table autrement et que tu bosses sur les libellés alors du coup tu récupères le selectedItem

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à LaNat
    Je sais que je suis chiant!!

    J'ai été dans les propriètés de la première combo mais je n'ai pas "events" et je ne trouve pas non plus "SelectedValueChanged".

    De quel Item parle-tu??

    Mes tables sont gérées de la manière suivante :
    CLIENT CONTACT
    Numclt NumContact
    NomClt NomContact
    StatutClt PrénomContact
    Nbr_Inter ................

    et je veux afficher sur la première com le "NomClt" et sur la deuxième combo le "NomContact"

    merci d'avance!!

  6. #6
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Je te parle des events du combo (comme un clic sur un bouton)
    Je te parle de l'item du premier combo (= valeur que tu dois récupérer pour compléter ta 2ème requête)

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

Discussions similaires

  1. affichage d'une combo en fonction d'une autre
    Par missjack dans le forum WebDev
    Réponses: 7
    Dernier message: 08/04/2015, 13h51
  2. [PHP 5.0] Combo en fonction d'une autre
    Par walacouper dans le forum Langage
    Réponses: 4
    Dernier message: 07/05/2009, 18h29
  3. Réponses: 9
    Dernier message: 06/01/2009, 17h48
  4. remplir une combobox en fonction d'un autre
    Par mima_mine dans le forum Struts 1
    Réponses: 7
    Dernier message: 18/09/2008, 16h57
  5. Filtre d'une combo en fonction du contenu d'une autre
    Par sguedon dans le forum SharePoint
    Réponses: 3
    Dernier message: 24/06/2008, 09h11

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