2017-10-05 84 views
0

我有一個foreach循環,在gridview的3行後,我想要一個新的頁面啓動,然後添加幾行。 foreach工作正常,因爲它增加了我的幾行就好,但不能讓NewPage()工作?如果我做writer.PageEmpty = false它創建了一堆空白頁。我錯過了什麼?Document.NewPage()不在foreach循環中工作

foreach (GridViewRow row in poGridview.Rows) 
{ 
    if (i == 3) 
    { 
     writer.PageEmpty = false; 
     pdfDoc.NewPage(); 
     p.Add(line1); 
     p.Add(new Paragraph("\n")); 
     p.Add(new Paragraph("\n")); 
     p.Add(line2); 
     p.Add(new Paragraph("\n")); 
     p.Add(new Paragraph("\n")); 
     p.Add(hr); 
     p.Add(new Paragraph("\n")); 

     i = 0; 
    } 
    i++; 
} 
+1

是什麼'p',是它一樣'pdfDoc'? –

+0

可能相關:[Document.NewPage()不添加新頁面](https://stackoverflow.com/questions/11430019/document-newpage-not-adding-newpage) – crashmstr

+0

p是這個gridview添加後的一段所有p的pdfDoc使用pdfDoc.Add(p); – ksuProgrammer

回答

0

添加新頁面後,您需要以新段落開頭,而不是重新使用舊頁面。

0

必須創建一個新的短語,並指定這些值到使它工作..

Phrase p2 = new Phrase(); 
      if (i == 3) 
      { 
       pdfDoc.NewPage(); 
       p2.Add(line1); 
       p2.Add(new Paragraph("\n")); 
       p2.Add(new Paragraph("\n")); 
       p2.Add(line2); 
       p2.Add(new Paragraph("\n")); 
       p2.Add(hr); 
       p2.Add(new Paragraph("\n")); 
       i = 0; 
      } 
      i++;