Je n'arrive pas à passer en mode édition quand j'utilise des TemplateField.
Le lien 'Edit' change bien pour 'Mettre à jour' et 'Annuler' mais mon champ ne se change pas en InputBox. Si je clique sur 'Annuler', rien ne se passe; si je clique sur 'Mettre à jour', il vide tous les champs de la ligne.
L'erreur est peut-être dans mon code-behind:
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 <asp:GridView ID="GridView1" Runat="server" DataSourceID="AccessDataSource1" DataKeyNames="ID_no" OnRowEditing="GridView1_RowEditing" > <Columns> <asp:CommandField ShowEditButton="True" /> <asp:TemplateField HeaderText="ID_no" Visible="False"> <ItemTemplate> <asp:Label ID="ID_noLabel" Runat="Server"><%# Eval("ID_no")%></asp:Label> </ItemTemplate> <asp:TemplateField HeaderText="Naissance" SortExpression="DateDeNaissance" > <ItemTemplate> <asp:Label ID="DateDeNaissanceLabel" Runat="Server" Text='<%# Eval("DateDeNaissance", "{0:dd-MM-yyyy}") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
Je pioche là-dessus depuis des jours. Une solution vous vaudra ma reconnaissance éternelle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; GridView1.Rows[e.NewEditIndex].FindControl("DateDeNaissanceLabel"); }
Partager