Remplir une colonne DropDownList d'un GridView
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:
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:
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:
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