Bonjour à tous,

J'ai créer un GridView pour ajouter des produits a une commande.

Je liste les produits et j'ai rajouter une colonne : DropDownList pour choisir une quantité a ajouter.

Mais je ne sais pas comment accéder a ce DDL.

Après mes rechercher voici mon code, mais ma liste reste désespérément vide.

je créer une méthode pour remplir mon gridView
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
 
 public DataTable ListProdFourni()
    {
        // Créetion de datatable pour lister les différents produits
        DataTable dtProdFourni = new DataTable();
        dtProdFourni.Columns.Add("idprod");
        dtProdFourni.Columns.Add("nom");
        dtProdFourni.Columns.Add("prixVente");
 
        DataRow dr = dtProdFourni.NewRow();
 
        foreach (LibrairieClassTraiteur.ProduitFourni DataProduitFourni in Gestion.ListerProduitFourni(0, " ", "idprod"))
        {
            dr["idprod"] = DataProduitFourni.idprod;
            dr["nom"] = DataProduitFourni.nom;
            dr["prixVente"] = DataProduitFourni.prixVente;
 
            dtProdFourni.Rows.Add(dr);
            dr = dtProdFourni.NewRow();
 
        }
 
        return dtProdFourni;
    }
Je lie la methode au GridView et créer un ItemTemplate pour insere Ma DDL

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
 
     <asp:GridView ID="GridViewProduitFourni" DataSource='<%# ListProdFourni() %>' AutoGenerateColumns="false"
                runat="server" OnPageIndexChanging="GridViewProduitFourni_PageIndexChanging">
                <Columns>
                    <asp:TemplateField HeaderText="Ajouter le produit">
                        <ItemTemplate>
                            <asp:CheckBox ID="CheckBoxAjoutProdFourn" runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                     <asp:TemplateField HeaderText="Quantité">
                        <ItemTemplate>
                            <asp:DropDownList ID="dropDownQteProdFourni" runat="server"></asp:DropDownList>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:BoundField DataField="idprod" HeaderText="Référence" ReadOnly="true" />
                    <asp:BoundField DataField="nom" HeaderText="Désignation" ReadOnly="true" />
                    <asp:BoundField DataField="prixVente" HeaderText="Prix Vente" ReadOnly="true" />
                </Columns>
            </asp:GridView>
J'ai essayer l'evenement RowCreated pour ajouter des valeurs dans le DDL mais rien y fait

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
  public void GridViewProduitFourni_RowCreated(Object sender, GridViewRowEventArgs e)
   {
 
       foreach (GridViewRow row in GridViewProduitFourni.Rows)
       {
           DropDownList dp1 = (DropDownList)row.FindControl("dropDownQteProdFourni");
           for (int i = 0; i < 50; i++)
           {
               dp1.Items.Add(i.ToString());
           }
       }
   }
Merci pour votre aide