Member 12802669 Ответов: 1

Как я могу отобразить все столбцы gridview в itextsharp?


У меня есть этот код для загрузки gridview в pdf-файл. Моя проблема в том, что он загружает только те столбцы, которые видны. Другие столбцы тоже имеют значения, они просто не видны.

Мой вопрос таков: как показать все столбцы в gridview с данными и скрыть пустые столбцы.

public override void VerifyRenderingInServerForm(Control control)
{

}

protected void btnGenerate_Click(object sender, EventArgs e)
{

    string FilePath = MapPath("~/File/doc.pdf");


    iTextSharp.text.Document pdfDoc = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4, 20f, 20f, 20f, 20f);
    PdfWriter.GetInstance(pdfDoc, new FileStream(FilePath, FileMode.Create));
    StringWriter sw = new StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(sw);

    GridView1.AllowPaging = false;
    GridView1.HeaderRow.Cells[1].Text = "Titel";
    GridView1.HeaderRow.Font.Bold = true;
    GridView1.RenderControl(hw);

    StringReader sr = new StringReader(sw.ToString());
    HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
    PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
    pdfDoc.Open();
    htmlparser.Parse(sr);
    pdfDoc.Close();

    Response.Write(pdfDoc);

    Response.ContentType = "Application/pdf";
    Response.WriteFile(FilePath);
    Response.End();
  }


Что я уже пробовал:

К сожалению мне ничего не пришло в голову

1 Ответов

Рейтинг:
1

manu_dhobale

Вы можете повторно привязать gridview внутри btngenerate click
если у вас есть третий столбец visible =false из design, включите его из btngenerate click и заново свяжите свой gridview

DataTable dtSource = GetdataSource();
GridView1.DataSource = dtSource;
GridView1.Columns[2].Visible = true;
GridView1.DataBind();