У меня есть проблема с моим приложением. Клиентам не нужно видеть отчет на экране, им просто нужно загружать его из приложения. с данными? Я не могу фильтровать в запросе или упростить его, потому что клиент нуждается в каждой дате от отчета.
Я использую Visual Studio 2010, Framework 4.0, SQL Server 2008.private void getsReport()
{
string reportName = "Globarl_Report_" + User.Identity.Name + "_" + DateTime.Now.ToString("yyyyMMdd")+".xls";
Database db = DatabaseFactory.CreateDatabase(ConfigurationManager.AppSettings["SNAT"].ToString());
DBCommandWrapper com = db.GetSqlStringCommandWrapper("usp_con_global_report)";// sp that give report.
com.CommandTimeout = 360;
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(sw);
Page pagina = new Page();
HtmlForm form = new HtmlForm();
DataTable tabla = db.ExecuteDataSet(com).Tables[0]; ;
GridView dg = new GridView();
dg.EnableViewState = false;
dg.DataSource = tabla;
dg.DataBind();//THIS LINES THROWS EXCEPTION!!
pagina.EnableEventValidation = false;
pagina.DesignerInitialize();
pagina.Controls.Add(form);
form.Controls.Add(dg);
pagina.RenderControl(htw);
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=" + nombreArchivo);
Response.Charset = "UTF-8";
Response.ContentEncoding = Encoding.Default;
Response.Write(sb.ToString());
Response.End();
}
Подробнее здесь: https://stackoverflow.com/questions/211 ... n-gridview