{
JRCrosstabColumnGroup group = groups[i];
if (group.getTotalPositionValue() == CrosstabTotalPositionEnum.START)
{
JRCellContents totalHeader = group.getTotalHeader();
if (totalHeader.getWidth() != 0 && totalHeader.getHeight() != 0)
{
boolean firstOnRow = x == 0 && crosstab.getHeaderCell() == null;
crosstabElements.add(
getCrosstabCellFrame(
reportConverter,
totalHeader,
rowHeadersXOffset + x,
y,
firstOnRow && crosstab.getRunDirectionValue() != RunDirectionEnum.RTL, //LTR or null
firstOnRow && crosstab.getRunDirectionValue() == RunDirectionEnum.RTL,
false
));
x += totalHeader.getWidth();
}
}
JRCellContents header = group.getHeader();
if (header.getWidth() != 0 && header.getHeight() != 0) {
boolean firstOnRow = x == 0 && crosstab.getHeaderCell() == null;
crosstabElements.add(
getCrosstabCellFrame(
reportConverter,
header,
rowHeadersXOffset + x,
y,
firstOnRow && crosstab.getRunDirectionValue() != RunDirectionEnum.RTL, //LTR or null
firstOnRow && crosstab.getRunDirectionValue() == RunDirectionEnum.RTL,
false
));
}
if (group.getTotalPositionValue() == CrosstabTotalPositionEnum.END)
{
JRCellContents totalHeader = group.getTotalHeader();
if (totalHeader.getWidth() != 0 && totalHeader.getHeight() != 0)
{
crosstabElements.add(
getCrosstabCellFrame(
reportConverter,
totalHeader,