Bonjour à tous,
Je vous contact car j'ai un problème que je n'arrive pas a résoudre.
Le but est de faire un
GridView amélioré. Ce gridview possédera en plus un
bouton pour exporter les données au format excel.
J'ai donc commencé par faire cette classe :
Code :
publicclass Grid : System.Web.UI.WebControls.GridView
{
protected ImageButton bt_export;
protected Table InnerTable
{
get
{
if(this.HasControls())
{
return(Table)this.Controls[0];
}
returnnull;
}
}
protectedoverridevoid RenderContents(HtmlTextWriter output)
{
this.CreateSecondHeader();
base.RenderContents(output);
}
privatevoid CreateSecondHeader()
{
GridViewRow row = new GridViewRow(0, -1, DataControlRowType.Header, DataControlRowState.Normal);
TableCell exportExcel = new TableHeaderCell();
exportExcel.ColumnSpan = this.Columns.Count;
exportExcel.ID = "rowexportexcel";
exportExcel.Controls.Add(bt_export);
row.Cells.Add(exportExcel);
this.InnerTable.Rows.AddAt(0, row);
}
protectedoverridevoid CreateChildControls()
{
initButtonExport();
this.Controls.Add(bt_export);
base.CreateChildControls();
}
privatevoid initButtonExport()
{
bt_export = new ImageButton();
bt_export.ImageUrl = "~/App_Themes/default/images/xlexport.png";
bt_export.AlternateText = "export excel";
bt_export.Click += new ImageClickEventHandler(this.Imgbt_exportExcel_Click);
}
protectedvoid Imgbt_exportExcel_Click(object sender, ImageClickEventArgs e)
{
Page.Response.Clear();
// Du code ...
Page.Response.End();
}
}
Le problème c'est que je n'arrive pas a faire
déclencher mon évènement du bouton d'export des données.
J'ai pourtant bien créé un
ImageClickEventHandler.
Vous êtes presque mon dernier espoir car Google me fait défaut.
Éventuellement si vous avez déjà fait une classe similaire merci de me la proposer.
Merci pour vos réponses et solutions !
Rémy