20 messaggi dal 06 settembre 2002
Ciao, vorrei esportare un datagridview in excel, ho impostato il codice per l'export ma ritorna questo errore "Il controllo griglia di tipo 'GridView' deve essere inserito in un tag Form con runat=server".
Ho già controllato e la griglia e dentro il form con attributo runat=server.
Dimentico qualcos'altro?
Grazie.
Direi di no, ma dato che ha sempre ragione lui  , non è che potresti postare un po' di codice?

m.
20 messaggi dal 06 settembre 2002
Eccolo:

Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=Export.xls");
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
Griglia.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();

La griglia è quella della toolbox.
E questa Griglia è in pagina? La istanzi al volo?

m.
20 messaggi dal 06 settembre 2002
La griglia è nella pagina, è collegata ad un datasource e il codice per esportarla è in un pulsante, quando lo clicco mi ritorna l'errore.
Il motivo è che non puoi chiamare il metodo Render di un oggetto finchè la pagina non è in stato di rendering.

Ciao,
m.
20 messaggi dal 06 settembre 2002
Cosa mi consigli di fare?
Ti basta istanziare una nuova griglia invece di utilizzare quella presente in pagina e riassegnarle il medesimo datasource:
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=Export.xls");
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.xls";
StringWriter stringWrite = new StringWriter();
HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
GridView grid = new GridView();
grid.DataSource = SomeObject.GetSome();
grid.DataBind();
grid.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();

Ciao,
m.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.