Sub report not getting displayed in the master report

0

Hello, I am using jasper report where I need to specify State office address based on state the customer belongs to. I have all address in a state wise csv file. I create a report to display the address using a report and passing state as a input parameter. The report work fine as a master report.

 

However when I add the same report as a sub report to a master reprot it is not displaying anything. I have gone thru all the links but of no help. I am pasting the master and child report xml's here.

MASTER.JRXML

<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.4.0.final using JasperReports Library version 6.4.1  -->
<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="Master" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="686a1244-29c7-455f-ae26-a6023ec3a686">
 <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
 <parameter name="CIRCLE" class="java.lang.String"/>
 <queryString>
  <![CDATA[]]>
 </queryString>
 <detail>
  <band height="500" splitType="Stretch">
   <property name="com.jaspersoft.studio.unit.height" value="pixel"/>
   <staticText>
    <reportElement x="144" y="35" width="186" height="26" uuid="a19c724d-c030-4b5b-ac74-a4e4a594d84a"/>
    <text><![CDATA[Circle Office Address]]></text>
   </staticText>
   <subreport>
    <reportElement x="3" y="5" width="550" height="20" uuid="4253e5f6-64f5-4247-9836-95c878a0ca4c">
     <property name="com.jaspersoft.studio.unit.height" value="pixel"/>
    </reportElement>
    <subreportParameter name="CIRCLE">
     <subreportParameterExpression><![CDATA[$P{CIRCLE}]]></subreportParameterExpression>
    </subreportParameter>
    <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource()]]></dataSourceExpression>
    <subreportExpression><![CDATA["Circle_address.jasper"]]></subreportExpression>
   </subreport>
  </band>
 </detail>
</jasperReport>

SUBREPORTJRXML

<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.4.0.final using JasperReports Library version 6.4.1  -->
<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="Circle_address" pageWidth="595" pageHeight="842" whenNoDataType="NoDataSection" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" isTitleNewPage="true" isSummaryNewPage="true" isSummaryWithPageHeaderAndFooter="true" isFloatColumnFooter="true" isIgnorePagination="true" uuid="dd7fde1b-e0e2-4729-8a32-334ccc4c3679">
 <property name="com.jaspersoft.studio.data.defaultdataadapter" value="Circle_address_1"/>
 <property name="com.jaspersoft.studio.unit." value="pixel"/>
 <property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/>
 <property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/>
 <property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/>
 <property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/>
 <property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/>
 <property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/>
 <property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
 <property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
 <parameter name="CIRCLE" class="java.lang.String" isForPrompting="false">
  <defaultValueExpression><![CDATA["MH"]]></defaultValueExpression>
 </parameter>
 <queryString>
  <![CDATA[]]>
 </queryString>
 <field name="Circle" class="java.lang.String"/>
 <field name="Office" class="java.lang.String"/>
 <detail>
  <band height="12" splitType="Prevent">
   <property name="com.jaspersoft.studio.unit.height" value="pixel"/>
   <printWhenExpression><![CDATA[EQUALS($F{Circle},$P{CIRCLE})]]></printWhenExpression>
   <textField isBlankWhenNull="true">
    <reportElement isPrintRepeatedValues="false" x="-20" y="-19" width="400" height="12" isRemoveLineWhenBlank="true" uuid="a9d1f5cd-6bb0-4839-b1e3-51c7e822d724">
     <property name="com.jaspersoft.studio.unit.height" value="pixel"/>
     <property name="com.jaspersoft.studio.unit.width" value="pixel"/>
     <property name="com.jaspersoft.studio.unit.x" value="pixel"/>
     <property name="com.jaspersoft.studio.unit.y" value="pixel"/>
    </reportElement>
    <textElement>
     <font fontName="Calibri" size="8"/>
    </textElement>
    <textFieldExpression><![CDATA[$F{Office}]]></textFieldExpression>
   </textField>
  </band>
 </detail>
</jasperReport>
 

 

 

 

 

shrikant_anjarlekar's picture
Joined: Sep 3 2017 - 3:45am
Last seen: 1 year 11 months ago

4 Answers:

0

Have you set up a return value from your sub-report?

perlnecklace's picture
Joined: Mar 8 2017 - 8:07am
Last seen: 1 year 5 months ago
0

In the master report you used a JREmptyDataSource() as datasource expression for the subreport. The subreport will come with no data, so it is nothing to be displayed. Set an appropriate expression for the subreport datasource.

Another solution: remove the datasource expression from the subreport in the master report. In the subreport set the net.sf.jasperreports.data.adapter property with the appropriate data adapter xml file.

shertage's picture
1930
Joined: Sep 26 2006 - 8:06pm
Last seen: 1 month 1 week ago
0

Hello, perlnecklace, how to set the return value for the sub report. When I click the return values the add button is disabled?

shrikant_anjarlekar's picture
Joined: Sep 3 2017 - 3:45am
Last seen: 1 year 11 months ago
0

Agree with Shertage. 

Return variable is not required since 'Office' field is directly displayed in subreport itself. Remove the data source expression and do as Shertage's suggestion. Also, try $P{REPORT_CONNECTION} parameter in connection expression and connection type by default as 'Use a connection expression', Datasource expression as blank.

Shazia's picture
22
Joined: Aug 2 2017 - 6:08am
Last seen: 3 months 2 weeks ago
Feedback