2012-03-05 33 views
6

काम करता है मैं जैस्पर iReport 4.5 के साथ एक रिपोर्ट बनाने की कोशिश कर रहा हूं और मैं कुछ डेटा दिखाने के लिए एक टेबल का उपयोग कर रहा हूं। तालिका एक प्रश्न से भर जाती है, और जब मैं क्वेरी संपादक में क्वेरी का पूर्वावलोकन जांचता हूं, तो मुझे वही परिणाम मिलते हैं जो मैं चाहता था। लेकिन जब मैं रिपोर्ट का पूर्वावलोकन बनाने का प्रयास करता हूं, तो मुझे लगता है कि "दस्तावेज़ में कोई पृष्ठ नहीं है"। तालिका शीर्षलेख में स्थिर पाठ भी प्रदर्शित नहीं होता है।जैस्पर iReport तालिका एक खाली दस्तावेज़ देता है हालांकि क्वेरी

यहाँ रिपोर्ट के एक्सएमएल है, लेकिन क्वेरी के बिना:

<?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="subReportTextManualCustomerRating" pageWidth="500" pageHeight="842" columnWidth="460" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"> 
    <property name="ireport.zoom" value="1.4641000000000008"/> 
    <property name="ireport.x" value="0"/> 
    <property name="ireport.y" value="0"/> 
    <style name="table"> 
     <box> 
      <pen lineWidth="1.0" lineColor="#000000"/> 
     </box> 
    </style> 
    <style name="table_TH" mode="Opaque" backcolor="#F0F8FF"> 
     <box> 
      <pen lineWidth="0.5" lineColor="#000000"/> 
     </box> 
    </style> 
    <style name="table_CH" mode="Opaque" backcolor="#BFE1FF"> 
     <box> 
      <pen lineWidth="0.5" lineColor="#000000"/> 
     </box> 
    </style> 
    <style name="table_TD" mode="Opaque" backcolor="#FFFFFF"> 
     <box> 
      <pen lineWidth="0.5" lineColor="#000000"/> 
     </box> 
    </style> 
    <style name="table 1"> 
     <box> 
      <pen lineWidth="1.0" lineColor="#000000"/> 
     </box> 
    </style> 
    <style name="table 1_TH" mode="Opaque" backcolor="#FFFFFF"> 
     <box> 
      <pen lineWidth="0.5" lineColor="#000000"/> 
     </box> 
    </style> 
    <style name="table 1_CH" mode="Opaque" backcolor="#FFBFBF"> 
     <box> 
      <pen lineWidth="0.5" lineColor="#000000"/> 
     </box> 
    </style> 
    <style name="table 1_TD" mode="Opaque" backcolor="#FFFFFF"> 
     <box> 
      <pen lineWidth="0.5" lineColor="#000000"/> 
     </box> 
    </style> 
    <subDataset name="CustomerType"> 
     <parameter name="TEXT_MANUAL_OID" class="java.lang.String"/> 
     <queryString> 
     </queryString> 
     <field name="Anzahl" class="java.lang.Long"/> 
     <field name="Typ" class="java.lang.String"/> 
     <field name="Bezeichnung" class="java.lang.String"/> 
    </subDataset> 
    <parameter name="TEXT_MANUAL_OID" class="java.lang.String"/> 
    <queryString> 
     <![CDATA[]]> 
    </queryString> 
    <summary> 
     <band height="143"> 
      <componentElement> 
       <reportElement key="table 1" style="table 1" x="0" y="0" width="460" height="143"/> 
       <jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd"> 
        <datasetRun subDataset="CustomerType"> 
         <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
        </datasetRun> 
        <jr:column width="90"> 
         <jr:tableHeader style="table 1_TH" height="30"> 
          <staticText> 
           <reportElement x="0" y="0" width="90" height="30"/> 
           <textElement/> 
           <text><![CDATA[Kontakt Typen]]></text> 
          </staticText> 
         </jr:tableHeader> 
         <jr:detailCell style="table 1_TD" height="20"> 
          <textField> 
           <reportElement x="0" y="0" width="90" height="20"/> 
           <textElement/> 
           <textFieldExpression><![CDATA[$F{Typ}]]></textFieldExpression> 
          </textField> 
         </jr:detailCell> 
        </jr:column> 
        <jr:column width="90"> 
         <jr:tableHeader style="table 1_TH" height="30"> 
          <staticText> 
           <reportElement x="0" y="0" width="90" height="30"/> 
           <textElement/> 
           <text><![CDATA[Ergebniserklärung]]></text> 
          </staticText> 
         </jr:tableHeader> 
         <jr:detailCell style="table 1_TD" height="20"> 
          <textField> 
           <reportElement x="0" y="0" width="90" height="20"/> 
           <textElement/> 
           <textFieldExpression><![CDATA[$F{Bezeichnung}]]></textFieldExpression> 
          </textField> 
         </jr:detailCell> 
        </jr:column> 
        <jr:column width="90"> 
         <jr:tableHeader style="table 1_TH" height="30"> 
          <staticText> 
           <reportElement x="0" y="0" width="90" height="30"/> 
           <textElement/> 
           <text><![CDATA[Anzahl der Kontakte]]></text> 
          </staticText> 
         </jr:tableHeader> 
         <jr:detailCell style="table 1_TD" height="20"> 
          <textField> 
           <reportElement x="0" y="0" width="90" height="20"/> 
           <textElement/> 
           <textFieldExpression><![CDATA[$F{Anzahl}]]></textFieldExpression> 
          </textField> 
         </jr:detailCell> 
        </jr:column> 
       </jr:table> 
      </componentElement> 
     </band> 
    </summary> 
</jasperReport> 
+1

का समाधान आप रिपोर्ट के लिए डेटा स्रोत में बनाया है? आपको प्रासंगिक डेटासेट को सक्रिय के रूप में सेट करना चाहिए ('iReport' में)। आप किस डेटासोर्स (एक्सएमएल या कुछ और) का उपयोग कर रहे हैं? –

+0

हां, मेरे पास एक वैध डेटासेट है और मैंने मुख्य रिपोर्ट डेटासेट –

+1

का उपयोग करने के लिए टेबल सेट किया है ठीक है, मुझे पता चला कि यह क्या था। मुझे मुख्य रिपोर्ट के लिए एक प्रश्न बनाना पड़ा, भले ही मैं इस रिपोर्ट में कहीं भी इसका उपयोग न करें। इसलिए मैंने अभी भी को मुख्य रिपोर्ट के लिए क्वेरी के रूप में dummy_field के रूप में 1 का चयन किया है, और अब तालिका मुझे इच्छित डेटा दिखाती है। अफसोस की बात है, मैं केवल 7 घंटे में अपने प्रश्न का उत्तर दे सकता हूं क्योंकि मेरा खाता नया है। –

उत्तर

5

ठीक है, मैं तो बस पता चला कि यह क्या था। मुझे मुख्य रिपोर्ट के लिए एक प्रश्न बनाना पड़ा, भले ही मैं इस रिपोर्ट में कहीं भी इसका उपयोग न करें। इसलिए मैंने मुख्य रिपोर्ट के लिए क्वेरी के रूप में "dummy_field के रूप में 1 चुनें" जोड़ा है, और अब तालिका मुझे इच्छित डेटा दिखाती है।

5

एक और तरीका है। सभी खंड कोई विस्तार

इस का उपयोग करके:

नीचे कदम

  1. मुख्य रिपोर्ट के नाम पर क्लिक करें का पालन
  2. चुनें संपत्ति नाम: जब कोई डेटा प्रकार
  3. संपत्ति के मूल्य का चयन डमी एसक्यूएल जोड़ने की जरूरत नहीं है।

1

मेरे मामले में, मैं खाली डेटा स्रोत प्रदान की है और समस्या

JasperPrint jasperPrint = JasperFillManager.fillReport(path,null, new JREmptyDataSource()); 
संबंधित मुद्दे