Bonjour, je travaille actuellement sur un projet avec visual studio, et j'ai un problème concernant l'affichage d'un produit dans un DataGrid après la sélection d'un fournisseur dans un comboBox.
Voici le code de mon formulaire :
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
using ClassLibraryL3B;
using les3belges;
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Collections;
using gestionPriseCommande;
using System.Linq;
 
namespace gestionPriseCommande
{
    public partial class FormProduitFournisseur : Form
    {
    public FormProduitFournisseur()
        {
            InitializeComponent();
        }
 
private void FormProduitFournisseur_Load(object sender, EventArgs e)
        {
            List<Fournisseur> maListe = Passerelle.getLesFournisseursByNom();
 
            foreach (Fournisseur unFour in maListe)
            {
                comboBox2.Items.Add(unFour.getNomFournisseur());
            }
        }
 
        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            dataGridView1.Visible = true;
            string unNomFournisseur = comboBox2.Text;
            list<Produit> lesProduits = Passerelle.getLesProduitByNom();
            foreach (Produit unProd in lesProduits)
            {
                string prixUHTProduit = null;
                string[] ligne = {ReferenceProduit.ToString(),LibelleProduit.ToString(),prixUHTProduit,StockTheorique.ToString(),TauxTVA.ToString(),StockTemp.ToString(),CouleurProduit.ToString(),TailleProduit.ToString(),OrigineProduit.ToString(),DelaiReapro.ToString(),SeuilReapro.ToString()};
                dataGridView1.Rows.Add(ligne);
            }
        }
}
}
Et le code de ma passerelle qui contient la fonction qui récupère les data de ma table "produit" pour les afficher dans le dataGrid :
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
30
31
32
33
34
35
36
37
38
39
40
41
42
 using gestionPriseCommande;
using les3belges;
using ProjLibraryClassReq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Collections;
using ClassLibraryL3B;
using System.Windows.Forms;      
//fonction permettant de récupérer tous les produits d'un fournisseur
        public static List<Produit> getLesProduitsByNom()
        {
            List<Produit> maListe = new List<Produit>();
            Produit unObjFournisseur = null;
            if (ClassReq.RetConnOk() == true)
            {
                ClassReq afficherClasse = new ClassReq("SELECT * FROM PRODUIT "); // creer une nouvelle requete
                DataTable resultat = new DataTable();
                resultat = afficherClasse.ExecuteSelect(); // recupere le resultat de la requete
                foreach (DataRow resLigne in resultat.Rows)
                {
                    string referenceProd = resLigne["referenceProd"].ToString();
                    string libelleProduit = resLigne["libelleProduit"].ToString();
                    double prixUHT = Double.Parse(resLigne["prixUHT"].ToString());
                    double tauxTVA = Double.Parse(resLigne["tauxTVA"].ToString());
                    int seuilReapro = Int32.Parse(resLigne["seuilReapro"].ToString());
                    int delaiReapro = Int32.Parse(resLigne["delaiReapro"].ToString());
                    int stockTemp = Int32.Parse(resLigne["stockTemp"].ToString());
                    string origineProduit = resLigne["origineProduit"].ToString();
                    string couleurProduit = resLigne["couleurProduit"].ToString();
                    string tailleProduit = resLigne["tailleProduit"].ToString();
                    int stockTheorique = Int32.Parse(resLigne["stockTheorique"].ToString());
                    int numFournisseur = Int32.Parse(resLigne["numFournisseur"].ToString());
                    int numCategorie = Int32.Parse(resLigne["numCategorie"].ToString());
                    string numReduction = resLigne["numReduction"].ToString();
                    string nomFournisseur = resLigne["nomFournisseur"].ToString();
                    unObjFournisseur = new Produit(referenceProd, libelleProduit, prixUHT, stockTheorique, tauxTVA, stockTemp, couleurProduit, tailleProduit, origineProduit, delaiReapro, seuilReapro, nomFournisseur);
                    maListe.Add(unObjFournisseur);
                }
            }
            return maListe;
        }
Et l'erreur avec plus de pertinence :
L'instruction foreach ne peut pas fonctionner sur des variables de type 'gestionPriseCommande.list<les3belges.Produit>', car 'gestionPriseCommande.list<les3belges.Produit>' ne contient pas de définition publique pour 'GetEnumerator' gestionPriseCommande F:\L3BV1\NEWsol_gestionPriseCommande - Les3Belges\gestionPriseCommande\FormProduitFournisseur.cs ligne 50
Merci d'avance de votre aide !