IReport: getting multiple copies of a table in detail

I am new to iReport . Therefore, I want to make a simple report based on data.

My problem is that my rows are smaller than the size of the group part, the whole table is repeated in detail, and I don't want it again. If my rows are approximately equal to 5, then the same table will be copied 4 times in detail, not only the table, but also every thing that I will describe in detail. It is repeated until the range limits appear.

Am I making some kind of mistake, or do I need to set some property of a part group in iReport ?

Please help me friends. Thanks in advance.

This is the generated result:

Generated result

Here is my jrxml code:

 <?xml version="1.0" encoding="UTF-8"?> <jasperReport language="groovy" bottomMargin="20" topMargin="20" rightMargin="20" leftMargin="20" columnWidth="555" whenNoDataType="AllSectionsNoDetail" pageHeight="842" pageWidth="595" name="test" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://jasperreports.sourceforge.net/jasperreports"> <property name="ireport.zoom" value="1.0"/> <property name="ireport.x" value="0"/> <property name="ireport.y" value="0"/> <style name="table"> <box> <pen lineColor="#000000" lineWidth="1.0"/> </box> </style> <style name="table_TH" backcolor="#F0F8FF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table_CH" backcolor="#BFE1FF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table_TD" backcolor="#FFFFFF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 1"> <box> <pen lineColor="#000000" lineWidth="1.0"/> </box> </style> <style name="table 1_TH" backcolor="#F0F8FF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 1_CH" backcolor="#BFE1FF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 1_TD" backcolor="#FFFFFF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 2"> <box> <pen lineColor="#000000" lineWidth="1.0"/> </box> </style> <style name="table 2_TH" backcolor="#F0F8FF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 2_CH" backcolor="#BFE1FF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 2_TD" backcolor="#FFFFFF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 3"> <box> <pen lineColor="#000000" lineWidth="1.0"/> </box> </style> <style name="table 3_TH" backcolor="#F0F8FF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 3_CH" backcolor="#BFE1FF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 3_TD" backcolor="#FFFFFF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 4"> <box> <pen lineColor="#000000" lineWidth="1.0"/> </box> </style> <style name="table 4_TH" backcolor="#F0F8FF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 4_CH" backcolor="#BFE1FF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 4_TD" backcolor="#FFFFFF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 5"> <box> <pen lineColor="#000000" lineWidth="1.0"/> </box> </style> <style name="table 5_TH" backcolor="#F0F8FF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 5_CH" backcolor="#BFE1FF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <style name="table 5_TD" backcolor="#FFFFFF" mode="Opaque"> <box> <pen lineColor="#000000" lineWidth="0.5"/> </box> </style> <subDataset name="a"> <parameter name="sem" class="java.lang.String"> <defaultValueExpression> <![CDATA[]]> </defaultValueExpression> </parameter> <queryString> <![CDATA[select final."M" as "ENROLLMENT",sem_batch.sem,sem_batch.batch,final."N" as "TTL_WKDY",final."O" as "PRESENT",round(((100*"O")/"N"),2) as "PERCENTAGE" from sem_batch, (select m."Std_id" as "M",l."Batch" as "L",l."Btch" as "N",m."Std" as "O" from (select count(b.batch_id) as "Btch",b.batch_id as "Batch" from batch_wkday b where b.batch_id like $P{sem} group by batch_id) l, (select count(a.std_id) as "Std",a.std_id as "Std_id",s.batch_id as "Batch" from attendance a,student_detail s where a.std_id=s.std_id and s.batch_id like $P{sem} group by a.std_id,s.batch_id) m where l."Batch"=m."Batch") final where final."L"=sem_batch.batch_id]]> </queryString> <field name="ENROLLMENT" class="java.math.BigDecimal"/> <field name="SEM" class="java.math.BigDecimal"/> <field name="BATCH" class="java.lang.String"/> <field name="TTL_WKDY" class="java.math.BigDecimal"/> <field name="PRESENT" class="java.math.BigDecimal"/> <field name="PERCENTAGE" class="java.math.BigDecimal"/> <group name="ENROLLMENT"> <groupExpression> <![CDATA[$F{ENROLLMENT}]]> </groupExpression> </group> </subDataset> <parameter name="SEM" class="java.lang.String"/> <queryString> <![CDATA[select * from sem_batch]]> </queryString> <field name="SEM" class="java.math.BigDecimal"/> <field name="BATCH" class="java.lang.String"/> <field name="BATCH_ID" class="java.lang.String"/> <background> <band splitType="Stretch"/> </background> <title> <band splitType="Stretch" height="69"> <staticText> <reportElement height="53" width="421" y="0" x="68"/> <textElement markup="none" textAlignment="Center"> <font size="22"/> </textElement> <text> <![CDATA[ATTENDANCE - CLASS ]]> </text> </staticText> </band> </title> <pageHeader> <band splitType="Stretch"/> </pageHeader> <columnHeader> <band splitType="Stretch" height="61"> <staticText> <reportElement height="20" width="53" y="0" x="0"/> <textElement> <font size="12"/> </textElement> <text> <![CDATA[SEM]]> </text> </staticText> <staticText> <reportElement height="20" width="53" y="20" x="0"/> <textElement> <font size="12"/> </textElement> <text> <![CDATA[DATE]]> </text> </staticText> <staticText> <reportElement height="20" width="10" y="0" x="58"/> <textElement/> <text> <![CDATA[:]]> </text> </staticText> <staticText> <reportElement height="20" width="10" y="20" x="58"/> <textElement/> <text> <![CDATA[:]]> </text> </staticText> <textField pattern="dd/MM/yyyy"> <reportElement height="20" width="100" y="20" x="68"/> <textElement/> <textFieldExpression> <![CDATA[new java.util.Date()]]> </textFieldExpression> </textField> <textField> <reportElement height="20" width="100" y="0" x="68"/> <textElement/> <textFieldExpression> <![CDATA[$P{SEM}]]> </textFieldExpression> </textField> </band> </columnHeader> <detail> <band splitType="Stretch" height="125"> <componentElement> <reportElement height="50" width="360" y="0" x="35" style="table 5" key="table 5"/> <jr:table xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components"> <datasetRun subDataset="a"> <datasetParameter name="sem"> <datasetParameterExpression> <![CDATA[$P{SEM}+'%']]> </datasetParameterExpression> </datasetParameter> <connectionExpression> <![CDATA[$P{REPORT_CONNECTION}]]> </connectionExpression> </datasetRun> <jr:column width="118"> <jr:columnHeader height="23" style="table 5_CH" rowSpan="1"> <staticText> <reportElement height="20" width="118" y="0" x="0"/> <textElement textAlignment="Center"> <font size="14" isBold="false"/> </textElement> <text> <![CDATA[ENROLLMENT]]> </text> </staticText> </jr:columnHeader> <jr:detailCell height="20" style="table 5_TD" rowSpan="1"> <textField> <reportElement height="20" width="118" y="0" x="0"/> <textElement textAlignment="Center"> <font size="10" isBold="false"/> </textElement> <textFieldExpression> <![CDATA[$F{ENROLLMENT}]]> </textFieldExpression> </textField> </jr:detailCell> </jr:column> <jr:column width="90"> <jr:columnHeader height="23" style="table 5_CH" rowSpan="1"> <staticText> <reportElement height="20" width="90" y="0" x="0"/> <textElement textAlignment="Center"> <font size="14"/> </textElement> <text> <![CDATA[SEM]]> </text> </staticText> </jr:columnHeader> <jr:detailCell height="20" style="table 5_TD" rowSpan="1"> <textField> <reportElement height="20" width="90" y="0" x="0"/> <textElement textAlignment="Center"> <font size="10"/> </textElement> <textFieldExpression> <![CDATA[$F{SEM}]]> </textFieldExpression> </textField> </jr:detailCell> </jr:column> <jr:column width="90"> <jr:columnHeader height="23" style="table 5_CH" rowSpan="1"> <staticText> <reportElement height="20" width="90" y="0" x="0"/> <textElement textAlignment="Center"> <font size="14"/> </textElement> <text> <![CDATA[BATCH]]> </text> </staticText> </jr:columnHeader> <jr:detailCell height="20" style="table 5_TD" rowSpan="1"> <textField> <reportElement height="20" width="90" y="0" x="0"/> <textElement textAlignment="Center"/> <textFieldExpression> <![CDATA[$F{BATCH}]]> </textFieldExpression> </textField> </jr:detailCell> </jr:column> <jr:column width="90"> <jr:columnHeader height="23" style="table 5_CH" rowSpan="1"> <staticText> <reportElement height="20" width="90" y="0" x="0"/> <textElement textAlignment="Center"> <font size="14"/> </textElement> <text> <![CDATA[PRESENT]]> </text> </staticText> </jr:columnHeader> <jr:detailCell height="20" style="table 5_TD" rowSpan="1"> <textField> <reportElement height="20" width="90" y="0" x="0"/> <textElement textAlignment="Center"/> <textFieldExpression> <![CDATA[$F{PRESENT}]]> </textFieldExpression> </textField> </jr:detailCell> </jr:column> <jr:column width="90"> <jr:columnHeader height="23" style="table 5_CH" rowSpan="1"> <staticText> <reportElement height="20" width="90" y="0" x="0"/> <textElement textAlignment="Center"> <font size="14"/> </textElement> <text> <![CDATA[PERCENTAGE]]> </text> </staticText> </jr:columnHeader> <jr:detailCell height="20" style="table 5_TD" rowSpan="1"> <textField> <reportElement height="20" width="90" y="0" x="0"/> <textElement textAlignment="Center"/> <textFieldExpression> <![CDATA[$F{PERCENTAGE}]]> </textFieldExpression> </textField> </jr:detailCell> </jr:column> </jr:table> </componentElement> </band> </detail> <columnFooter> <band splitType="Stretch"/> </columnFooter> <pageFooter> <band splitType="Stretch" height="54"> <textField> <reportElement height="20" width="100" y="16" x="227"/> <textElement textAlignment="Center"/> <textFieldExpression> <![CDATA[$V{PAGE_NUMBER}]]> </textFieldExpression> </textField> </band> </pageFooter> <summary> <band splitType="Stretch" height="42"/> </summary> </jasperReport> 
+7
source share
4 answers

You must place the table component in the Title strip (for example, in the Summary group). Not to the Detail group.

+9
source

Select Table Properties and add printWhenExpression to the table $ V {REPORT_COUNT} == 1 Now, to avoid the values ​​of the repeat table in your ireport.

+8
source

Based on the previous answer of the answer, I was able to set the table in the "Details" section and the following properties to avoid creating duplicate or blank pages at the end of the document.

Detailed range β†’ set Print with expression with value $ V {REPORT_COUNT} == 1 Table element β†’ Set Print with expression $ V {REPORT_COUNT} == 1

+3
source

Hey, I got a solution to my problem. If more than one row is returned in the main query, such things will happen. Try giving a query that returns no more than one row. Like "Choose 1 from double." This solution solved my problem.

0
source

All Articles