Adgang til sqlresultat fra knap.
Hejsa håber i kan hjælpe!Jeg henter noget data ned i et DataTable og binder til til GridView Det virker fint nok. Samtidig vil jeg gerne have en knap der kan downloade resultat til excel
fil. Jeg har tyvstjålet noget kodet på google og rettet det til så det virker. Men kun hvis jeg også laver mit database kald i click eventen. Det jeg gerne ville er som
jeg har skrevet i koden her. At anvende objektet result, men det ser ud til at være protected af page_load.
Jeg har forsøgt mig med diverse public statements mm. men jeg kan ikke få det til at spille.
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SQLiteDatabase ris = new SQLiteDatabase();
DataTable result;
String query = "SELECT * FROM services;";
result = ris.GetDataTable(query);
GridView1.DataSource = result;
GridView1.HeaderStyle.BackColor = System.Drawing.Color.Green;
GridView1.BackColor = System.Drawing.Color.LightGray;
;
GridView1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
GridView GridView1 = new GridView();
GridView1.AllowPaging = false;
GridView1.DataSource = result;
GridView1.DataBind();
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=DataTable.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
for (int i = 0; i < GridView1.Rows.Count; i++)
{
//Apply text style to each Row
GridView1.Rows[i].Attributes.Add("class", "textmode");
}
GridView1.RenderControl(hw);
//style to format numbers to string
string style = @"<style> .textmode { mso-number-format:\@; } </style>";
Response.Write(style);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
}
}
}