Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Errore esportazione grid view in excel
venerdì 31 ottobre 2008 - 23.42
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
squilibrio
Profilo
| Expert
527
messaggi | Data Invio:
ven 31 ott 2008 - 23:42
Errore server nell'applicazione '/app'.
--------------------------------------------------------------------------------
Il controllo 'ctl00_Main_gwElenco' di tipo 'GridView' deve essere inserito in un tag Form con runat=server.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.
Dettagli eccezione: System.Web.HttpException: Il controllo 'ctl00_Main_gwElenco' di tipo 'GridView' deve essere inserito in un tag Form con runat=server.
Errore nel codice sorgente:
Riga 75:
Riga 76: this.ClearControls(gwElenco);
Riga 77: gwElenco.RenderControl(oHtmlTextWriter);
Riga 78:
Riga 79: Response.Write(oStringWriter.ToString());
File di origine: c:\Users\Administrator\Documents\Visual Studio 2005\WebSites\app\ReportFineGiornataRange.aspx.cs Riga: 77
public void btnExcel_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//Ricerca data
string DaMese = String.Format("{0:00}", tbRicercaDataDa.Date.Month);
string AMese = String.Format("{0:00}", tbRicercaDataA.Date.AddDays(1).Month);
string DaGiorno = String.Format("{0:00}", tbRicercaDataDa.Date.Day);
string AGiorno = String.Format("{0:00}", tbRicercaDataA.Date.AddDays(1).Day);
string Da = tbRicercaDataDa.Date.Year.ToString() + DaMese.ToString() + DaGiorno.ToString();
string A = tbRicercaDataA.Date.Year.ToString() + AMese.ToString() + AGiorno.ToString();
//export to excel
dbm = dbConnection.OpenDB();
dbm.DatabaseDisconnesso = tblSpedizioni;
string qrySelect = ....
dbm.CaricaTabella(tblSpedizioni.webreportgiornaliero, qrySelect, true);
gwElenco.DataSource = tblSpedizioni.webreportgiornaliero.DataSet.Tables[0].DefaultView;
gwElenco.DataBind();
Response.Clear();
Response.Buffer= true;
Response.ContentType = "application/vnd.ms-excel";
Response.Charset = "";
this.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.ClearControls(gwElenco);
gwElenco.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}
private void ClearControls(Control control)
{
for (int i=control.Controls.Count -1; i>=0; i--)
{
ClearControls(control.Controls[i]);
}
if (!(control is TableCell))
{
if (control.GetType().GetProperty("SelectedItem") != null)
{
LiteralControl literal = new LiteralControl();
control.Parent.Controls.Add(literal);
try
{
literal.Text = (string)control.GetType().GetProperty("SelectedItem").GetValue(control,null);
}
catch
{
}
control.Parent.Controls.Remove(control);
}
else
if (control.GetType().GetProperty("Text") != null)
{
LiteralControl literal = new LiteralControl();
control.Parent.Controls.Add(literal);
literal.Text = (string)control.GetType().GetProperty("Text").GetValue(control,null);
control.Parent.Controls.Remove(control);
}
}
return;
}
<asp:GridView ID="gwElenco" runat="server" AutoGenerateColumns="False" DataKeyNames="awb" EnableViewState="False" Width="90%" AllowSorting="false">
<Columns>
<asp:BoundField DataField="DataSpedizione" Visible="true" HeaderText="DataSpedizione">
<ItemStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="awb" Visible="true" HeaderText="awb">
<ItemStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="destRagioneSociale" Visible="true" HeaderText="destRagioneSociale">
<ItemStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="destIndirizzo" Visible="true" HeaderText="destIndirizzo">
<ItemStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="destCAP" Visible="true" HeaderText="destCAP">
<ItemStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" />
</asp:BoundField>
</Columns>
<RowStyle Height="20px" />
<HeaderStyle BackColor="Silver" Height="20px" />
<AlternatingRowStyle BackColor="#E0E0E0" />
</asp:GridView>
rossimarko
Profilo
| Guru
1.173
messaggi | Data Invio:
sab 1 nov 2008 - 20:58
Ciao,
verifica che la form html abbia l'attributo runat="server", altrimenti non potrai inserire al suo interno dei controlli
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
lviverit
Profilo
| Newbie
1
messaggi | Data Invio:
ven 29 mag 2009 - 15:45
Aggiungere questo alla pagina.
public override void VerifyRenderingInServerForm(System.Web.UI.Control control)
{
//Do nothing
}
Luciano
iif
Profilo
| Expert
713
messaggi | Data Invio:
mer 19 apr 2017 - 09:29
Ciao, scusate se mi intrometto, ho aggiunto il codice ma ritorna l'errore "thread interrotto"
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !