2013-11-22 39 views
3

我想将SqlData导出为pdf,为此我试图获取数据列表以打印preview.I已遵循此示例。 http://www.aspdotnet-suresh.com/2011/04/how-to-export-gridview-data-to-pdf.html这里的网格视图数据显示。但我已经做了一些修改,并试图采取DataList.Now数据每一件事情都很好,我能够打印预览DataList.Only一个问题是存在的,我想限制数量数据显示每页..就像我只想限制10Row每pdf的单页。任何人都有想法如何实现这样的功能?将Datalist导出为每页受限行的PDF

总之我需要导出的PDF分页功能,here是PDF我目前得到

对不起,如果我的问题太简单了,但我对Asp.Net

感谢

新手
+0

如何确定要在页面上显示的记录或数据,意味着如何设置每页显示的记录数? –

+0

我在我的数据库上有唯一的ID,基于那个唯一的ID我决定 – Aamirkhan

+0

亲爱的,这将取决于你如何显示数据..你可以请附上PDF数据,以便我可以更准确地回答它。 –

回答

1

在该链接上显示的方法稍微简单一些,但您可以修改该方法来解决您的问题。以下是一段代码:

using System.Diagnostics; 
using System.IO; 
using iTextSharp.text; 
using iTextSharp.text.pdf; 

namespace RowsCountSample 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      using (var pdfDoc = new Document(PageSize.A4)) 
      { 
       var pdfWriter = PdfWriter.GetInstance(pdfDoc, new FileStream("Test.pdf", FileMode.Create)); 
       pdfDoc.Open(); 

       var table1 = new PdfPTable(3); 
       table1.HeaderRows = 2; 
       table1.FooterRows = 1; 

       //header row 
       var headerCell = new PdfPCell(new Phrase("header")); 
       headerCell.Colspan = 3; 
       headerCell.HorizontalAlignment = Element.ALIGN_CENTER; 
       table1.AddCell(headerCell); 

       //footer row 
       var footerCell = new PdfPCell(new Phrase("footer")); 
       footerCell.Colspan = 3; 
       footerCell.HorizontalAlignment = Element.ALIGN_CENTER; 
       table1.AddCell(footerCell); 

       //adding some rows 
       for (int i = 0; i < 70; i++) 
       { 
        //adds a new row 
        table1.AddCell(new Phrase("Cell[0], Row[" + i + "]")); 
        table1.AddCell(new Phrase("Cell[1], Row[" + i + "]")); 
        table1.AddCell(new Phrase("Cell[2], Row[" + i + "]")); 

        //sets the number of rows per page 
        if (i > 0 && table1.Rows.Count % 7 == 0) 
        { 
         pdfDoc.Add(table1); 
         table1.DeleteBodyRows(); 
         pdfDoc.NewPage(); 
        } 
       } 

       pdfDoc.Add(table1); 
      } 

      //open the final file with adobe reader for instance. 
      Process.Start("Test.pdf"); 
     } 
    } 
}