bonjour,svp est ce que vous pouvez me donner une solution pour ce problème:
je veux exporter les donnée d'une gridview vers un fichier excel.j'au utilisé le code suivant:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim dg As GridView = GridView1
Response.Clear()
Response.Buffer = True
Response.ContentType = "application/vnd.xls"
Response.Charset = ""
Dim SW As StringWriter = New StringWriter
Dim HTW As HtmlTextWriter = New HtmlTextWriter(SW)
dg.RenderControl(HTW)
Response.Write(SW.ToString())
Response.End()
End Sub
mais je rencontre toujours cette erreur:
<< Le contrôle 'GridView1' de type 'GridView' doit être placé dans une balise form avec runat=server >>
même si le gridview est à l’intérieur d'une balise form.
j'ai réglé le problème de la balise form: j'ai utilisé dans le code behind Id form1.controle(0).....
mais le fichier excel vide.
voila le code de la page:
---------------------------------------------
Page sans titre
---------------------------------------------
et voila le code behind:
----------------------------------------
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Response.Clear()
Response.AddHeader("content-disposition", "attachment;filename=fichierExcel.xls")
Response.Charset = ""
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Response.ContentType = "application/vnd.xls"
Dim sr As StringWriter = New StringWriter
Dim HTW As HtmlTextWriter = New HtmlTextWriter(sr)
f1.Controls(0).RenderControl(HTW)
Response.Write(sr.ToString())
Response.End()
End Sub
---------------------------------------------
l'erreur que je rencontre lorsque j'utilise ton fichier
RegisterForEventValidation ne peut être appelé que pendant Render();
je veus une reponse s'il vous plait
oui la balise form a un attribut runat"server" mais le problème reste le même.et j'ai jamais rencontré ce genre de problème psq c banal mais dans ce cas illogique!!!!