2012-11-08 20 views
14

Próbuję utworzyć raport sub (report1_subreport3.jrxml) z raportu głównego (report1.jrxml) przy użyciu iReport projektant (zarówno z pusty dane źródło). Głównym raport szczegół zespół zawiera statyczny tekst („Raport Główny” ) i element Podraport i Podraport zawiera statyczny tekst w odpowiadającym jej szczegół zespołu („Sub Report”)jasperReport/iReport Podraport pokazuje pusty (nie wyświetlany)

Ale kliknięcie zakładka podglądu główny raport pokazuje tylko tekst statyczny "Główny raport" nie wyświetlający statycznego tekstu podraportu ("Podraport").

Przeszedłem również przez link http://community.jaspersoft.com/questions/524978/empty-subreport-xml-datasource-ireport, ale nadal stoi w obliczu problemu.

Poniżej report1.jrxml

<?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="report1" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="20036b98-ef64-4dea-8345-b89bcd8f2671"> 
    <property name="ireport.zoom" value="1.0"/> 
    <property name="ireport.x" value="0"/> 
    <property name="ireport.y" value="68"/> 
    <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false"> 
     <defaultValueExpression><![CDATA["D:\\soapReport\\jasperReport\\"]]></defaultValueExpression> 
    </parameter> 
    <background> 
     <band splitType="Stretch"/> 
    </background> 
    <title> 
     <band height="79" splitType="Stretch"/> 
    </title> 
    <pageHeader> 
     <band height="35" splitType="Stretch"/> 
    </pageHeader> 
    <columnHeader> 
     <band height="61" splitType="Stretch"/> 
    </columnHeader> 
    <detail> 
     <band height="125" splitType="Stretch"> 
      <staticText> 
       <reportElement uuid="d49ee6bf-1a13-41bb-9feb-f0fb2ec414f2" x="71" y="28" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[Main Report]]></text> 
      </staticText> 
      <subreport> 
       <reportElement uuid="364d3c38-a0a1-4fa5-b0bf-12b22314ac5e" x="311" y="14" width="200" height="100"/> 
       <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
       <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "report1_subreport3.jasper"]]></subreportExpression> 
      </subreport> 
     </band> 
    </detail> 
    <columnFooter> 
     <band height="45" splitType="Stretch"/> 
    </columnFooter> 
    <pageFooter> 
     <band height="54" splitType="Stretch"/> 
    </pageFooter> 
    <summary> 
     <band height="42" splitType="Stretch"/> 
    </summary> 
</jasperReport> 

i poniżej jest report1_subreport3.jrxml

<?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="report1_subreport3" language="groovy" pageWidth="555" pageHeight="802" columnWidth="555" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="7ca2d973-972c-4c56-8d5e-503b32b4afc6"> 
    <property name="ireport.zoom" value="1.0"/> 
    <property name="ireport.x" value="0"/> 
    <property name="ireport.y" value="0"/> 
    <background> 
     <band splitType="Stretch"/> 
    </background> 
    <title> 
     <band height="79" splitType="Stretch"/> 
    </title> 
    <pageHeader> 
     <band height="35" splitType="Stretch"/> 
    </pageHeader> 
    <columnHeader> 
     <band height="61" splitType="Stretch"/> 
    </columnHeader> 
    <detail> 
     <band height="125" splitType="Stretch"> 
      <staticText> 
       <reportElement uuid="5f488fe4-f9f7-4f12-9c1e-812661026bd7" x="222" y="50" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[Sub Report]]></text> 
      </staticText> 
     </band> 
    </detail> 
    <columnFooter> 
     <band height="45" splitType="Stretch"/> 
    </columnFooter> 
    <pageFooter> 
     <band height="54" splitType="Stretch"/> 
    </pageFooter> 
    <summary> 
     <band height="42" splitType="Stretch"/> 
    </summary> 
</jasperReport> 

Dzięki z góry za wszelką pomoc w tym, że ...


Dzięki Gopi za zmianę, ale nadal pokazuje puste miejsce w miejscupodraportu. Poniżej jest głównym sprawozdaniu

<?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="report1" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="748f862c-3467-4c8c-89f6-04a571192482"> 
    <property name="ireport.zoom" value="1.0"/> 
    <property name="ireport.x" value="0"/> 
    <property name="ireport.y" value="0"/> 
    <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false"> 
     <defaultValueExpression><![CDATA["D:/soapReport/jasperReport/"]]></defaultValueExpression> 
    </parameter> 
    <queryString> 
     <![CDATA[]]> 
    </queryString> 
    <background> 
     <band splitType="Stretch"/> 
    </background> 
    <title> 
     <band height="79" splitType="Stretch"/> 
    </title> 
    <pageHeader> 
     <band height="35" splitType="Stretch"/> 
    </pageHeader> 
    <columnHeader> 
     <band height="61" splitType="Stretch"/> 
    </columnHeader> 
    <detail> 
     <band height="71" splitType="Stretch"> 
      <staticText> 
       <reportElement uuid="17f2cfc8-497a-4676-b83a-acf55bccac04" x="33" y="15" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[Main Report]]></text> 
      </staticText> 
     </band> 
    </detail> 
    <columnFooter> 
     <band height="134" splitType="Stretch"> 
      <subreport> 
       <reportElement uuid="40f53bea-c9eb-46a7-b4fc-3d592da3ef90" x="234" y="17" width="200" height="100"/> 
       <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
       <subreportExpression><![CDATA["D:/soapReport/jasperReport/report1_subreport1.jasper"]]></subreportExpression> 
      </subreport> 
     </band> 
    </columnFooter> 
    <pageFooter> 
     <band height="54" splitType="Stretch"/> 
    </pageFooter> 
    <summary> 
     <band height="42" splitType="Stretch"/> 
    </summary> 
</jasperReport>  

i poniżej jest Podraport

<?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="report1_subreport1" language="groovy" pageWidth="555" pageHeight="802" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="62bf7fb7-8145-4aa6-b963-c98eefac9862"> 
    <property name="ireport.zoom" value="1.0"/> 
    <property name="ireport.x" value="0"/> 
    <property name="ireport.y" value="0"/> 
    <background> 
     <band splitType="Stretch"/> 
    </background> 
    <columnHeader> 
     <band height="61" splitType="Stretch"> 
      <staticText> 
       <reportElement uuid="9bf9eafc-c1e0-49fa-8bb8-ed6c496498da" x="213" y="20" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[Sub Report]]></text> 
      </staticText> 
     </band> 
    </columnHeader> 
</jasperReport> 

proszę mi pomóc, jeśli ja czegoś brakuje ...

Odpowiedz

19


Skieruj pole Podraport w dowolnym innym zespole innym niż zespół szczegółów i dodaj whenNoDataType="AllSectionsNoDetail" do pliku xml.
Dodaj go do innych właściwości raportu w tagu <JasperReport>.
Można również dodać za pomocą projektanta GUI.
Otwórz swój raport podrzędny iw edytorze właściwości, na końcu opcji znajdziesz opcję
When No Data. Wybierz All Sections with No Detail z listy dostępnych opcji.


Mainreport:

<?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="report1" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"> 
<property name="ireport.zoom" value="1.0"/> 
<property name="ireport.x" value="0"/> 
<property name="ireport.y" value="12"/> 
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false"> 
    <defaultValueExpression><![CDATA["/home/qualian/Desktop/gopi/prjreport/"]]></defaultValueExpression> 
</parameter> 
<queryString> 
    <![CDATA[]]> 
</queryString> 
<background> 
    <band splitType="Stretch"/> 
</background> 
<title> 
    <band height="79" splitType="Stretch"/> 
</title> 
<pageHeader> 
    <band height="35" splitType="Stretch"/> 
</pageHeader> 
<columnHeader> 
    <band height="61" splitType="Stretch"/> 
</columnHeader> 
<detail> 
    <band height="125" splitType="Stretch"> 
     <subreport> 
      <reportElement x="33" y="56" width="208" height="36"/> 
      <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
      <subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR}+"report3_subreport1.jasper"]]></subreportExpression> 
     </subreport> 
     <staticText> 
      <reportElement x="33" y="15" width="100" height="20"/> 
      <textElement/> 
      <text><![CDATA[Main Report]]></text> 
     </staticText> 
    </band> 
</detail> 
<columnFooter> 
    <band height="45" splitType="Stretch"/> 
</columnFooter> 
<pageFooter> 
    <band height="54" splitType="Stretch"/> 
</pageFooter> 
<summary> 
    <band height="42" splitType="Stretch"/> 
</summary> 


raport Sub:

<?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="report1_subreport3" language="groovy" pageWidth="555" pageHeight="802" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0"> 
<property name="ireport.zoom" value="1.0"/> 
<property name="ireport.x" value="0"/> 
<property name="ireport.y" value="0"/> 
<background> 
    <band splitType="Stretch"/> 
</background> 
<columnHeader> 
    <band height="40" splitType="Stretch"> 
     <staticText> 
      <reportElement x="107" y="12" width="100" height="20"/> 
      <textElement/> 
      <text><![CDATA[Sub Report]]></text> 
     </staticText> 
    </band> 
</columnHeader> 


To działało jak czar. Mam nadzieję że to pomoże.

+1

Gopi Cześć, Dzięki za wejście ... Próbowałem swoje kroki 1. Dodawanie podraportu w drugim zespole (columnfooter) i 2 .adding się whenNoDataType = "AllSectionsNoDetail" w element, ale dla ostatniego kroku nie otrzymuję opcji "Gdy brak danych" w edytorze właściwości podraportów. A potem, gdy przejdę do zakładki podglądu głównego raportu, pokazuje on to samo, co puste miejsce w podraportie :( – Som

+0

możesz dodać to w tagu lub użyć iReport do edycji .. Nie trzeba dodawać obu. –

+0

Tak ... Gopi Po dodaniu tagu ... zaobserwowano ten sam problem ... podraport wciąż wyświetlający puste z głównego raportu. – Som

0

Każda osoba mająca problem z raportem studio jaspera 6.3.0, nie wyświetlająca podraportów, powinna spróbować zmienić nazwę parametru w podraporcie, a następnie zaktualizować połączenie parametrów w widgecie raportów podrzędnych raportu "parametr edycji", aby dopasować nowy Nazwa parametru. Może też uniknąć podkreślenia, tj. "IDENTYFIKATOR UŻYTKOWNIKA".

2

Powyższy problem został rozwiązany za pomocą poniższego tagu, który zawarłem w moim głównym raporcie. Musimy wykorzystać pustą źródła danych (nowa net.sf.jasperreports.engine.JREmptyDataSource())

SUBREPORT.jrxml

<?xml version="1.0" encoding="UTF-8"?> 
<!-- Created with Jaspersoft Studio version 6.3.1.final using  JasperReports Library version 6.3.1 --> 
<!-- 2016-12-15T10:33:58 --> 
<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="HYPERLINKS_SUBREPORT" pageWidth="595" pageHeight="842" columnWidth="595" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="ad9606b1-969d-4340-a7eb-61dc30ec8f0d"> 
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/> 
<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"/> 
<queryString> 
    <![CDATA[]]> 
</queryString> 
<detail> 
    <band height="82" splitType="Stretch"> 
     <staticText> 
      <reportElement x="16" y="47" width="100" height="30" uuid="866e60e7-16a0-4fea-b56f-ca4143e98fec"/> 
      <text><![CDATA[Testing text]]></text> 
     </staticText> 
    </band> 
</detail> 

XML main_report.jrxml

 <subreport> 
      <reportElement positionType="Float" x="0" y="220" width="200" height="60" uuid="62463158-73b1-4089-b66c-633d3a987649"/> 
      <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource()]]></dataSourceExpression> 
      <subreportExpression><![CDATA["SUBREPORT.jasper"]]></subreportExpression> 
     </subreport> 

To samo można osiągnąć za pomocą Jaspersoft Studio.

enter image description here