Bonjour,
J'ai un problème : j'ai créé un WebUserControl (fichier ascx) dans lequel se trouvent plusieurs contrôles dont un GridView, un linkbutton, deux textbox, un button ...
Voici la déclaration du GridView :
<asp:GridViewID="grd"runat="server"AutoGenerateColumns="False"CellPadding="4"
DataSourceID="SqlDs"ForeColor="#333333"GridLines="None"Width="100%"OnRowDataBound="grd_RowDataBound"OnRowCommand="grd_RowCommand">
<FooterStyleBackColor="#5D7B9D"Font-Bold="True"ForeColor="White"/>
<Columns>
<asp:TemplateFieldHeaderText=""ItemStyle-Width="12px"ItemStyle-VerticalAlign="Top">
<ItemTemplate>
<asp:ImageButtonrunat="server"ID="imbDel"ImageUrl="~/images/croix.gif"AlternateText="Supprimer"/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundFieldDataField="PrenomNom"HeaderText="Nom"ItemStyle-Width="150px"ItemStyle-VerticalAlign="Top"/>
<asp:BoundFieldDataField="fia_com_date"DataFormatString=' {0:d} 'HeaderText="Date"HtmlEncode="False"ItemStyle-Width="85px" ItemStyle-VerticalAlign="Top"/>
<asp:BoundFieldDataField="fia_com_libelle"HeaderText="Commentaire"ItemStyle-VerticalAlign="Top"/>
<asp:TemplateFieldHeaderText=""ItemStyle-Width="12px"ItemStyle-VerticalAlign="Top">
<ItemTemplate>
<asp:ImageButtonrunat="server"ID="imbEdit"ImageUrl="~/images/edit.gif"AlternateText="Modifier"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>Aucun commentaire dans cette section.</EmptyDataTemplate>
<RowStyleBackColor="#F7F6F3"ForeColor="#333333"/>
<EditRowStyleBackColor="#999999"/>
<SelectedRowStyleBackColor="#E2DED6"Font-Bold="True"ForeColor="#333333"/>
<PagerStyleBackColor="#284775"ForeColor="White"HorizontalAlign="Center"/>
<HeaderStyleBackColor="#5D7B9D"Font-Bold="True"ForeColor="White"/>
<AlternatingRowStyleBackColor="White"ForeColor="#284775"/>
</asp:GridView>
Donc on voit bien les déclarations :OnRowDataBound="grd_RowDataBound"OnRowCommand="grd_RowCommand"
Et deux évênements déclarés comme suit :
protectedvoid grd_RowCommand(object sender, GridViewCommandEventArgs e)
{
//Beaucoup de code
}
protectedvoid grd_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.DataItem != null)
{
DataRowView drv = (DataRowView)e.Row.DataItem;
ImageButton imbDel = (ImageButton)e.Row.FindControl("imbDel");
ImageButton imbEdit = (ImageButton)e.Row.FindControl("imbEdit");
DateTime dt = (DateTime)drv["fia_com_date"];
imbDel.CommandName = "D" + dt.Ticks.ToString();
imbDel.OnClientClick = "return confirm('Etes-vous s-r(e) de vouloir supprimer ce commentaire ?');";
imbEdit.CommandName = "E" + dt.Ticks.ToString();
}
}
Problème : l'évênement grd_RowDataBound est bien lancé, mais pas le grd_RowCommand (j'ai tenté un point d'arrêt dedans, il n'y passe même pas). Pourquoi ?
Si vous avez la solution aidez moi je bute dessus depuis hier !
Merci d'avance !
Stéphane.