gustavofarias Posted February 2, 2016 Posted February 2, 2016 There are lots of tutorials on how to zebra stripe the rows of a report. Like this: Value Color A white A black B white B black B white C black D white D black But what I want to do is a grouped stripping. Like this: Value Color A white A white B black B black B black C white D black D black I'm using the column "Value" as the expression of a group and my data is sorted by "Value". "black" is a black rectangle to be printed when the group is black. "white" is the absence of the black rectangle. I want a variable that I can put in "Print When Expression" of the black rectangle. What I've tried until now: - Create a variable $V{print} - Initial Value Expression: false - Variable Expression: !$V{print} - Increment type: Group - Increment group: Value I expected the value of $V{print} to change to it's opposite value every time the group changed. What I get is the normal striped list (black, white, black, white...)
Solution szaharia Posted February 15, 2016 Solution Posted February 15, 2016 Hello,Try the following:Create a variable $V{print} of type java.lang.Integer- Variable Expression: Boolean.TRUE- Variable calculation: Count- Increment type: Group- Increment group: ValueThen create a conditional style with desired background features, and set the following condition expression:$V{print}%2 == 1Use this style for elements in detail band, instead of printing an overlapping rectangle with printWhenExpression.I hope this helps,Sanda
gustavofarias Posted February 16, 2016 Author Posted February 16, 2016 I think the reason why my attempt didn't work is this:JasperReports Schema Reference: "incrementType: Increment level for variables that perform calculations"As the Calculation was "none", the group increment was ignored and the expression was being evaluated every iteration. I think there is some confusion in documentation:reference 1) JasperReports Schema Reference: "incrementType: Increment level for variables that perform calculations"reference 2) The JasperReports Ultimate Guide: INCREMENT TYPE: This property lets you choose the exact moment to increment the variable.... reference 3) iReport property comment: Increment Type: When the variable expression should be evaluated to get a new value. Reference 2 and 3 agree with one another and basically ignores what is said in reference 1, which is the correct one. Based solely on references 2 and 3, my original solution should work.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now