none
como imprimo tres gridsViews del mismo webform asp.net c# RRS feed

  • Pregunta

  • Hola, disculpen que los moleste, necesito imprimir 3 Grids de un mismo Webform a la vez........Tengo el codigo para imprimir solo un GridView, el cual se deriva a un word del cual se puede imprimir, presenta a continuación (como se podria aggiornar para tres grids a la vez, o algo nuevo):

    protected void Imprimir_Click(object sender, EventArgs e)
            {               
                if( GridConsultaAsistencias.Rows.Count > 0 )
                {
                System.IO.StringWriter tw = new System.IO.StringWriter();
                System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
                System.Web.UI.HtmlControls.HtmlForm frm = new System.Web.UI.HtmlControls.HtmlForm();
                Response.ContentType = "application/vnd.ms-word";
                Response.AddHeader("content-disposition", "attachment;filename=" + "Reporte" + ".doc");
                Response.Charset = "";
                EnableViewState = false;
                Controls.Add(frm);
                frm.Controls.Add(GridConsultaAsistencias); 
                frm.RenderControl(hw);
                Response.Write(tw.ToString());
                Response.End();
                }
             }

    Cualquier cosa me avisan.....

    martes, 23 de febrero de 2016 0:53

Respuestas

  • hola

    para imprimer 3 grid vas a tener que incluir en el form todos los grid

    veo que usas

    frm.Controls.Add(GridConsultaAsistencias);

    bien vas a tener que hacer el Add() de los otros dos grid y aplicar el RenderControl() estando todos los grid incluidos

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 24 de febrero de 2016 4:00

Todas las respuestas

  • sera algo asi lo que buscas hacer

    protected void Imprimir_Click(object sender, EventArgs e)
            {               
               exportar(gv1);
               exportar(gv2);
               exportar(gv3);
                
             }
    private void exportar(GridView gv)
            {
                if (gv.Rows.Count > 0)
                {
                    System.IO.StringWriter tw = new System.IO.StringWriter();
                    System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
                    System.Web.UI.HtmlControls.HtmlForm frm = new System.Web.UI.HtmlControls.HtmlForm();
                    Response.ContentType = "application/vnd.ms-word";
                    Response.AddHeader("content-disposition", "attachment;filename=" + "Reporte" + ".doc");
                    Response.Charset = "";
                    EnableViewState = false;
                    Controls.Add(frm);
                    frm.Controls.Add(gv);
                    frm.RenderControl(hw);
                    Response.Write(tw.ToString());
                    Response.End();
                }
    
            }

    espero te sirva


    Att. Franklin Andino

    martes, 23 de febrero de 2016 22:56
  • hola

    para imprimer 3 grid vas a tener que incluir en el form todos los grid

    veo que usas

    frm.Controls.Add(GridConsultaAsistencias);

    bien vas a tener que hacer el Add() de los otros dos grid y aplicar el RenderControl() estando todos los grid incluidos

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 24 de febrero de 2016 4:00