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 :

mettre le resultat d'une methode dans un comboBox


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 74
    Points : 58
    Points
    58
    Par défaut mettre le resultat d'une methode dans un comboBox
    salut a tous
    j'ain une classe qui me permet de recuperer le resultat renvoyé par une procedure stockée. j'aimerai mettre se resultat dans un comboBox mais helas toutes les tantatives ont échoués. mon comboBox est sur un form.

    voici mon code
    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
    public void selection(string pstocke, string machaine1)
    		{
    			conn.Open();
    			
    			SqlCommand com = new SqlCommand(pstocke,conn);
    			com.CommandType=CommandType.StoredProcedure;
    			SqlDataAdapter myDSAdapter = new SqlDataAdapter();
    			DataSet myDataSet = new DataSet();
    			myDSAdapter.SelectCommand = new SqlCommand(pstocke, conn);
    			myDSAdapter.Fill(myDataSet,"essai");
    			
    			foreach( DataRow maligne1 in myDataSet.Tables["essai"].Rows)
    			{
    				machaine1=maligne1[1]+"";
    		
                                        MessageBox.Show(machaine1);
                                         			}
    		}
    l'element en gras rouge a été mis pour constater qu'il retourne exatement les resultats.
    il le fait. mais comment le renseigner dans mon comboBox codgrp qui se trouve dans mon form FrmPrestataire?

  2. #2
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 182
    Points : 113
    Points
    113
    Par défaut
    Si tu pouvais nous mettre le message d'erreur ca serait mieux.

    Sinon dans ton code tu accede a un controle d'une autre form, ce qui n'est pas possible car le controle est private.

  3. #3
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Bonjour,

    Tu as rempli une datatable "essai" avec cette proc stock.
    Tu as donc fait le plus gros du boulot.

    Ensuite, j'utiliserais le databinding, c'est le plus court et le plus synchro:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Datatable dtt = myDataset.tables["essai"]
    cmbCtrl.Datasource = essai
    cmbCtrl.Datamember = ta_colonne_de_données
    cmbCtrl.DisplayMember = la_colonne_daffichage // peut être la même que datamember
    Et pis c'est tout.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Citation Envoyé par obydissonn
    j'aimerai mettre se resultat dans un comboBox mais helas toutes les tantatives ont échoués.
    C'est bizarre, je ne vois aucun ComboBox dans ton code...

    Pour modifier les éléments de la liste du ComboBox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monComboBox.Items.Add/Remove/Clear/etc
    Donc dans ton cas, quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    codgrp.Items.Clear();
    foreach( DataRow maligne1 in myDataSet.Tables["essai"].Rows)
    {
        codgrp.Items.Add((string)maligne1[1];
    }
    à placer par exemple dans le constructeur de ta Form, après InitializeComponent()
    Mais il est difficile de savoir exactement ce que tu veux faire...

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 74
    Points : 58
    Points
    58
    Par défaut
    slt Astartee

    ce que tu me montre marche quand ceci se fait sur le meme forme.
    mais mois j'ai ecris une classe qui recupere le resultat.
    je voudrais l'utiliser dans mon forme pour remplir mon comboBox.

    tu vois un peu se que je dis?

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Elle dit qu'elle ne voit pas le problème


    Sinon :
    - si le résultat de la requête est stocké dans une DataTable, que tu comptes conserver la DataTable et même la modifier, et que la ComboBox doit refléter les changements, un databinding est le plus pertinent, donc examine la solution proposée par jml94
    - si tu veux juste envoyer une requête, afficher les résultats dans la ComboBox et ne plus y toucher, alors mieux vaut utiliser une simple Command et lire les résultats dans un DataReader pour remplir la ComboBox, en utilisant ma solution ; passer par une DataTable et un DataAdapter est sans doute inutilement lourd

  7. #7
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Pourrait-on voir le code de la classe qui récupère ce résultat ?

Discussions similaires

  1. [XL-2003] mettre le resultat d'une cellule dans une autre cellule
    Par abdess18 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/06/2010, 08h36
  2. Réponses: 2
    Dernier message: 09/04/2008, 17h54
  3. [TSTRINGLIST] Mettre le resultat d'une Query dans un Stringlist
    Par valoji dans le forum Bases de données
    Réponses: 4
    Dernier message: 19/07/2006, 09h21
  4. comment mettre le resultat d'une select dans fich txt
    Par StyleXP dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2006, 15h07
  5. [MySQL] mettre les resultats d'une requete dans un select
    Par Ludo75 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 18/01/2006, 16h19

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