2015-07-28 2 views
1

Я столкнулся с проблемой с Itext, строка разрезана между двумя страницами. Мой код работать так:Itext: Split row issue

PdfPTable Master = new PdfPTable(1); 
Master.setHeaderRows(1); 

PdfPTable Header = new PdfPTable(1);//create header table 
//fill header 
PdfPCell HeaderCell = new PdfPCell(); 
HeaderCell.addElement(Header); 
Master.addCell(HeaderCell);//add header in master 

foreach result in query 
{ 
    float[] colsWidth = { 4f, 9f, 5f, 8f }; 
    PdfPTable Content = new PdfPTable(colsWidth);//create content table 
    //fill content 
    content.keepRowsTogether(0); 
    PdfPCell ContentCell = new PdfPCell(); 
    ContentCell.addElement(Content); 
    Master.addCell(ContentCell);//add header in master 
} 
document.add(Master); 

Но в PDF документе некоторые Содержимое таблицы разделена между двумя страницами (и поэтому, некоторые Мастер строк таблицы). я пытаюсь добавить:

Master.keepRowsTogether(0); 
Master.setSplitLate(false); 

без эффекта.

Я также попытался:

Master.setSplitRows(false); 

Но это сделать срез строки просто исчезнуть. Кто-нибудь знает, как отключить разделение строк в главной таблице?

ответ

0

Включить обертку также в камере, которая будет расщепленной

ContentCell .setNoWrap(false); 

Так

foreach result in query 
{ 
    float[] colsWidth = { 4f, 9f, 5f, 8f }; 
    PdfPTable Content = new PdfPTable(colsWidth);//create content table 
    //fill content 
    content.keepRowsTogether(0); 
    PdfPCell ContentCell = new PdfPCell(); 
    ContentCell .setNoWrap(false); 
    ContentCell.addElement(Content); 
    Master.addCell(ContentCell);//add header in master 
} 

и не забывай Master.setSplitLate(false);

+0

Я пытался, но, к сожалению, это не работает, как написано , поэтому я пробовал по-другому, и это сработало, добавив «Master.keepRowsTogether (0)», так что спасибо FevPlr. – Kromen

+0

Добро пожаловать в kromen. –