Несколько gridviews в один pdf с помощью iTextsharp
Всем Привет,
Я пытаюсь экспортировать несколько gridviews в один pdf - файл с помощью iTextSharp. Я циклически просматриваю GridView, а затем циклически просматриваю строки gridview. Петля идет нормально. Но после загрузки pdf-файла можно увидеть только последний gridview. Похоже, что gridviews перезаписывают друг друга, и остается только последний. Вот мой код. Что я делаю не так?
protected void btnExportToPDF_Click(object sender, EventArgs e) { GridView[] gvExcel = new GridView[] { gridvw1,gridvw2,gridvw3 }; Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 10f); for (int i = 0; i < gvExcel.Length; i++) { if (gvExcel[i].Visible) { PdfPTable pdfTbl = new PdfPTable(gvExcel[i].HeaderRow.Cells.Count); foreach (TableCell headerTblCell in gvExcel[i].HeaderRow.Cells) { Font font = new Font(); font.Color = new BaseColor(gvExcel[i].HeaderStyle.ForeColor); PdfPCell pdfCell = new PdfPCell(new Phrase(headerTblCell.Text)); pdfCell.BackgroundColor = new BaseColor(gvExcel[i].HeaderStyle.ForeColor); pdfTbl.AddCell(pdfCell); } foreach (GridViewRow gvRow in gvExcel[i].Rows) { foreach (TableCell tblCell in gvRow.Cells) { Font font = new Font(); font.Color = new BaseColor(gvExcel[i].RowStyle.ForeColor); PdfPCell pdfCell = new PdfPCell(new Phrase(tblCell.Text)); pdfCell.BackgroundColor = new BaseColor(gvExcel[i].RowStyle.ForeColor); pdfTbl.AddCell(pdfCell); } } //Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 10f); PdfWriter.GetInstance(pdfDoc, Response.OutputStream); pdfDoc.Open(); pdfDoc.Add(pdfTbl); } } pdfDoc.Close(); //Response.Clear(); Response.ContentType = "application/pdf"; Response.AppendHeader("content-disposition", "attachment;filename=report_" + startDate + "-" + endDate + ".pdf"); Response.Write(pdfDoc); Response.Flush(); Response.End(); }
Что я уже пробовал:
Я уверен, что есть где-то, где сетки перекрываются. Но я не могу найти, где именно.