2012-04-20 4 views
3

이렇게 테이블을 그려야합니다.iText에서 오른쪽 열이있는 표 셀의 행 간격을 설정하는 방법은 무엇입니까?

다음 코드는 작동하지 않습니다. 그것은 'C'셀 드로잉없이 일렬로 테이블을 작성

PdfPTable table = new PdfPTable(2); 
table.addCell("A"); 
table.addCell("B"); 
PdfPCell cell = new PdfPCell(new Phrase("C")); 
cell.setRowspan(2); 
table.addCell(cell); 

은 (좌측의 rowspanning 셀)와 대향 테이블 도면 잘 작동한다.

나는 비슷한 질문을 here에 알았지 만 문맥이 다르다 (나는 국제적인 앱에서 일하고 있지 않다). 그래서 나는 다시 질문을 바꿔 말할 수 있다고 생각한다.

답변

4

테이블은 항상 오른쪽 위에서 아래로 왼쪽, 그래서 당신은 다음 A 다음 C 마지막 B를 추가 할 필요가 그려집니다.

PdfPTable table = new PdfPTable(2); 
table.addCell("A"); 
PdfPCell cell = new PdfPCell(new Phrase("C")); 
cell.setRowspan(2); 
table.addCell(cell); 
table.addCell("B"); 

iText는 표의 모든 셀에 대한 설명이 필요합니다. 누락 된 셀이 있으면 전체 행을 건너 뜁니다. 원래 코드가 R1C1에 A을 추가 한 다음 R1C2에 B을 추가 한 다음 새 행을 만들고 하나의 셀을 추가했습니다.

+0

행의 셀 수가 표에 정의 된 열의 수와 일치해야하는 셀 추가를 처리하는이 방법; 그렇지 않으면 행이 다듬어집니다 ...이 사람은 좋지 않습니다! :) 나는 왜 미쳐 가고 마지막 검색 행이 표에 추가되지 않았는지 이해하기 위해 Google 검색에서 모든 말씨를 시도했습니다. 내 행에는 하나의 왼쪽 열 (이미지) 만 있으며 설명이 핵심입니다. 행의 수가 동적이어서 3, 5, 7 ... 셀을 가질 수 있기 때문에 이것을 처리 할 수학을 추가해야합니다. iText는 당신이 사람입니다. 축하해 주셔서 감사합니다. 신의 축복. –

+0

홀수 개의 셀의 경우 특정 문제를 해결하기 위해이 작업을 수행했습니다. if (chapterAnswersGroups.Count() % 2! = 0) { pdfTable.AddCell (string.Empty); }' –

3

당신은 중첩 된 테이블을 사용한다 :

PdfPTable inner = new PdfPTable(1); 
inner.addCell("A"); 
inner.addCell("B"); 

PdfPTable outer = new PdfPTAble(2); 
outer.addCell(inner); 
outer.addCell("C"); 
관련 문제