RED-3974: Fixed special case table header with diffent size of columns in rows
This commit is contained in:
parent
07aaa9722a
commit
a9ff46a3fd
@ -98,9 +98,11 @@ public class SectionTextBuilderService {
|
||||
areas.add(sectionArea);
|
||||
|
||||
if (!cell.isHeaderCell()) {
|
||||
String headerName = getHeaderName(hasHeader, cell, table.getRows().get(0).get(cellNum));
|
||||
sectionArea.setHeader(headerName);
|
||||
tabularData.put(headerName, new CellValue(cell.getTextBlocks(), startOffset));
|
||||
String headerName = getHeaderName(hasHeader, cell, table.getRows().get(0), row.size(), cellNum);
|
||||
if(headerName != null) {
|
||||
sectionArea.setHeader(headerName);
|
||||
tabularData.put(headerName, new CellValue(cell.getTextBlocks(), startOffset));
|
||||
}
|
||||
}
|
||||
|
||||
textBlocks.addAll(cell.getTextBlocks());
|
||||
@ -155,10 +157,17 @@ public class SectionTextBuilderService {
|
||||
}
|
||||
|
||||
|
||||
private String getHeaderName(boolean hasHeader, Cell currentCell, Cell cellInFirstRow) {
|
||||
private String getHeaderName(boolean hasHeader, Cell currentCell, List<Cell> firstRow, int currentRowSize, int cellNum) {
|
||||
|
||||
return hasHeader ? buildHeaderName(currentCell.getHeaderCells()
|
||||
.get(currentCell.getHeaderCells().size() - 1)) : buildHeaderName(cellInFirstRow);
|
||||
if (hasHeader && !currentCell.getHeaderCells().isEmpty()) {
|
||||
return buildHeaderName(currentCell.getHeaderCells().get(currentCell.getHeaderCells().size() - 1));
|
||||
}
|
||||
|
||||
if (!hasHeader && currentRowSize == firstRow.size()) {
|
||||
return buildHeaderName(firstRow.get(cellNum));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user