Avatar billede havmaage Juniormester
02. april 2014 - 15:35 Der er 1 løsning

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();
        }
    }
}
Avatar billede havmaage Juniormester
24. april 2014 - 09:12 #1
Fik det løst, det var en tastefejl
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester