2016-03-11 41 views
1

我對Java/iText相當陌生,並且在讓Rowspan(3)合併時遇到了問題。我究竟做錯了什麼?我做錯了什麼? Rowspan不會改變

這就是我要尋找

enter image description here

這是我得到。我試圖將第1,2和3行合併到一行中。

這是我目前的表

enter image description here

 table1.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); 
     table1.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE); 

     table1.addCell(new Phrase(" ")); 
     table1.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); 
     PdfPCell cell = new PdfPCell(new Phrase("ACTUALS", fonti)); 
     cell.setColspan(9); 
     cell.setBackgroundColor(BaseColor.BLACK); 
     cell.setHorizontalAlignment(Element.ALIGN_CENTER); 
     table1.addCell(cell); 
     table1.completeRow(); 

     table1.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); 
     table1.getDefaultCell().setRowspan(3); 
     table1.addCell(new Phrase("1")); 
     table1.addCell(new Phrase(" ")); 
     table1.addCell(new Phrase(" ")); 
     table1.addCell(new Phrase(" ")); 
     table1.addCell(new Phrase(" ")); 
     table1.addCell(new Phrase(" ")); 
     table1.addCell(new Phrase(" ")); 
     table1.addCell(new Phrase(" ")); 
     table1.addCell(new Phrase(" ")); 
     table1.completeRow(); 
+0

你可以繪製一張圖來顯示錶的外觀嗎?你的代碼看起來很尷尬。它看起來不合邏輯。 –

+0

@BrunoLowagie我編輯了我原來的文章,並添加了我想創建的圖片。我似乎無法讓我的行合併。 – Articuno

+0

*我似乎無法讓我的行合併。* - 相反,您已合併行。但即使對於合併的行,單元格也不會大於其內容所需的大小,除非您明確設置單元格大小。 – mkl

回答

0

根據您所分享的圖像上,它看起來就好像你要更改單元格的高度。爲了達到這個目的,你不要改變高度,但是你改變了行距。這不是什麼rowpan。只有當相鄰單元格只跨一行時,如果您希望特定單元格跨越多行,則應使用行寬。

更改行數同一行中的所有單元格沒有任何意義。一行中的所有單元格是否跨越一行或三行都不會影響行的視覺表示。

如果要更改行的高度,則需要使用更改高度的方法。請參閱How do setMinimumSize() and setFixedSize() interact?以瞭解哪兩種方法可供您選擇。

如果一個典型的行20個用戶單位的高度,用此作連續三次爲喚起注意:

cell.setMinimumHeight(60); 

您還可以使用:

cell.setFixedHeight(60); 

但那是因爲後者更危險方法可能導致內容被丟棄。