for (int gidx = groupsPrinted; gidx >= 0; gidx -= 1)
{
final Group g = report.getGroup(gidx);
if (g instanceof RelationalGroup)
{
final RelationalGroup rg = (RelationalGroup) g;
final GroupFooter footer = rg.getFooter();
if (isGroupSectionPrintableInternal(footer, false, true) &&
elementChangeChecker.isBandChanged(footer, dataRow))
{
needPrinting = true;
}
}
}
}
if (needPrinting == false)
{
for (int i = 0; i < levelCount; i++)
{
final LayouterLevel level = levels[i];
final ReportDefinition def = level.getReportDefinition();
if (level.isInItemGroup())
{
final DetailsFooter detailsFooter = def.getDetailsFooter();
if (detailsFooter != null)
{
if (isGroupSectionPrintableInternal(detailsFooter, true, true) &&
elementChangeChecker.isBandChanged(detailsFooter, dataRow))
{
needPrinting = true;
}
}
}
if (needPrinting == false)
{
for (int gidx = level.getGroupIndex(); gidx >= 0; gidx -= 1)
{
final Group g = def.getGroup(gidx);
if (g instanceof RelationalGroup)
{
final RelationalGroup rg = (RelationalGroup) g;
final GroupFooter footer = rg.getFooter();
if (isGroupSectionPrintableInternal(footer, true, true) &&
elementChangeChecker.isBandChanged(footer, dataRow))
{
needPrinting = true;
}