Bonjour,
je sais que la question a été mainte fois posée mais je n'ai jusqu'ici, toujours pas trouver la réponse à mon problème (4 jours que je bloque dessus et 42 ne marche pas non plus).
Pour faire simple, j'ai dans un gridview d'une page aspx, une dropdownlist (ddl) que je dois remplir à partir d'argument passer dans les paramètres d'un procédure stocké. Cette ddl est renseignée dans la balise "EditItemTemplate" de mon gridview.
Ce que je n'arrive pas à faire, c'est à faire passer une ligne "sélectionnée" en mode "edit". Pour sélectionner cette ligne, j'ai au bout de celle ci un boutton "éditer" qui appelle l'évènement OnRowEditing="gvwExistingRight_Edit".
Voici le code, c'est plus parlant
le gridview dans la page default.aspx (simplifiée)
et le .cs
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 <asp:GridView ID="gvwExistingRight" runat="server" AutoGenerateColumns="False" OnRowDeleting="gvwExistingRight_Delete" OnRowEditing="gvwExistingRight_Edit" Width="100%" > <RowStyle Font-Names="Arial" Font-Size="XX-Small" /> <Columns> [...] <asp:TemplateField HeaderText="Group" SortExpression="Group"> <ItemTemplate> <asp:Label ID="lblGroup" runat="server" Text='<%#Eval("GRO") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:DropDownList ID="ddlGridGroup" runat="server"> </asp:DropDownList> </EditItemTemplate> </asp:TemplateField> <asp:CommandField HeaderText="Action" ShowCancelButton="False" ShowDeleteButton="True" ShowEditButton="True" /> </Columns> </asp:GridView>
J'ai cette erreur ci en retour:
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 protected void gvwExistingRight_Edit(object sender, GridViewEditEventArgs e) { int index = Convert.ToInt32(e.NewEditIndex); GridViewRow row = gvwExistingRight.Rows[index]; string stringfunction = GetFildList(); SqlDataReader rdr = CreateReader(stringfunction); rdt.Load(rdr); rdr.Close(); String AppliId = ""; // RETAIN // GROUP string ddlName = "ddlGridGroup"; AppliId = "1"; DropDownList ddl = (DropDownList)row.FindControl(ddlName); ddl.DataSource = CreateDataView(AppliId, "GRO"); //la fonction CreateDataView créer un dataview qui va chercher les resultats d'une proc stock en fonction des éléments passées en paramètre. ddl.DataTextField = "TextField"; ddl.DataValueField = "ValueField"; ddl.DataBind(); }
Bref, j'ai le sentiment bizard qu'il ne voit pas ma ddl. J'ai meme l'impression qu'il ne passe pas du tout en mode edit pour cette ligne.Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Avez vous une idée du problème.
Une piste m'aiderai.
Merci à vous !!
Partager