Éditer dans un TemplateField
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.
Code:
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> |
L'erreur est peut-être dans mon code-behind:
Code:
1 2 3 4 5 6
|
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
GridView1.Rows[e.NewEditIndex].FindControl("DateDeNaissanceLabel");
} |
Je pioche là-dessus depuis des jours. Une solution vous vaudra ma reconnaissance éternelle.