Details:
Variable has the following properties:
- Reset type = GROUP
- Increment Type = NONE
- Calculation = FIRST
Issue occurs when after printing the GroupHeader on the 10th page there is not enough space to print the Detail band so the variables are recalculated.
The flow is something like:
In the JRVerticalFiller.fillDetail() the condition detailBand.getBreakHeight() > columnFooterOffsetY - offsetY in the while loop is false leading to JRVerticalFiller.fillColumnBand() being invoked.
When the detail is being is filled the JRPrintBand would overflow because one of the fields stretches. As the JRPrintBand will overflow it causes JRVerticalFiller.fillColumnBreak() to be invoked and the JRPrintBand to be refilled. After JRVerticalFiller.fillColumnBreak()
JRCalculator.recalculateVariables() is called.
This method sets the variables incremented value to the previous incremented value but as the variable was reset when the group changed the previous incremented value is null.
Details:
Variable has the following properties:
Issue occurs when after printing the GroupHeader on the 10th page there is not enough space to print the Detail band so the variables are recalculated.
The flow is something like:
In the
JRVerticalFiller.fillDetail()the conditiondetailBand.getBreakHeight() > columnFooterOffsetY - offsetYin thewhileloop is false leading toJRVerticalFiller.fillColumnBand()being invoked.When the detail is being is filled the
JRPrintBandwould overflow because one of the fields stretches. As theJRPrintBandwill overflow it causesJRVerticalFiller.fillColumnBreak()to be invoked and theJRPrintBandto be refilled. AfterJRVerticalFiller.fillColumnBreak()JRCalculator.recalculateVariables()is called.This method sets the variables incremented value to the previous incremented value but as the variable was reset when the group changed the previous incremented value is null.