jasper reports - Pagination in bar chart with series -


i have create bar chart can have large amount (around 50) of categories (x axis). wish split report multiple pages can apply pagination. have found answer here:

how can generate paginated bar chart in jasper report

but above answer discusses bar chart single series. following sample report intend create:

report

assuming have around 50 dates in x axis, report become large. have break report such showing configurable amount (say 3) of categories per page. following approach:

  1. create group of date field
  2. create variable counts group.
  3. create group groupexpression $v{variable1} - 1 - ( ($v{variable1} - 1) % 3 )

following jrxml file:

    <?xml version="1.0" encoding="utf-8"?> <jasperreport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="paginationbar3d" language="groovy" pagewidth="595" pageheight="842" columnwidth="555" leftmargin="20" rightmargin="20" topmargin="20" bottommargin="20" uuid="a9331cff-3045-47b5-8399-17a89e2ac39c">     <property name="ireport.zoom" value="1.0"/>     <property name="ireport.x" value="0"/>     <property name="ireport.y" value="0"/>     <querystring>         <![cdata[select a.year_built, aty.description, count(*) count         aircraft a, aircraft_types aty         a.aircraft_type_id = aty.aircraft_type_id         group year_built, description order a.year_built;]]>     </querystring>     <field name="year_built" class="java.sql.date">         <fielddescription><![cdata[]]></fielddescription>     </field>     <field name="description" class="java.lang.string">         <fielddescription><![cdata[]]></fielddescription>     </field>     <field name="count" class="java.lang.long"/>     <variable name="variable1" class="java.lang.integer" incrementtype="group" incrementgroup="yeargroup" calculation="count">         <variableexpression><![cdata[boolean.true]]></variableexpression>     </variable>     <group name="yeargroup">         <groupexpression><![cdata[$f{year_built}]]></groupexpression>     </group>     <group name="splitter">         <groupexpression><![cdata[$v{variable1} - 1 - ( ($v{variable1} - 1) % 3)]]></groupexpression>         <groupfooter>             <band height="802">                 <bar3dchart>                     <chart>                         <reportelement uuid="7114e305-2cfb-4757-b034-b0a12dd412d9" x="0" y="0" width="555" height="802"/>                         <charttitle/>                         <chartsubtitle/>                         <chartlegend/>                     </chart>                     <categorydataset>                         <dataset resettype="group" resetgroup="splitter"/>                         <categoryseries>                             <seriesexpression><![cdata[$f{description}]]></seriesexpression>                             <categoryexpression><![cdata[$f{year_built}]]></categoryexpression>                             <valueexpression><![cdata[$f{count}]]></valueexpression>                         </categoryseries>                     </categorydataset>                     <bar3dplot>                         <plot/>                         <itemlabel/>                         <categoryaxisformat>                             <axisformat/>                         </categoryaxisformat>                         <valueaxisformat>                             <axisformat/>                         </valueaxisformat>                     </bar3dplot>                 </bar3dchart>             </band>         </groupfooter>     </group> </jasperreport> 

this generates single category per page. should correct approach in scenario?

this can done using reports group, have done earlier ,

you can try link :- split chart in multiple pages

and replace

               $v{report_count} - 1 - ( ($v{report_count} - 1) % 3 )  

with

               $v{report_count} - 1 - ( ($v{report_count} - 1) % 18 ) 

Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -