2016-02-11 72 views
1

我已經添加了主報表的子報表,通過從發票數據庫表中獲取詳細信息來打印發票編號,duedate和total的值。 但我無法使用參數打印字段。 請任何人都可以幫助我。我是jasper報告設計的新手。如何使用ireports添加子報表?

我的代碼:

<?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="Subscription_details" pageWidth="595" pageHeight="70" whenNoDataType="AllSectionsNoDetail" columnWidth="595" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" > 
<property name="com.jasperassistant.designer.GridHeight" value="12"/> 
<property name="com.jasperassistant.designer.GridWidth" value="12"/> 
<property name="com.jasperassistant.designer.SnapToGrid" value="false"/> 
<property name="com.jasperassistant.designer.Grid" value="false"/> 
<property name="ireport.zoom" value="1.0"/> 
<property name="ireport.x" value="0"/> 
<property name="ireport.y" value="0"/> 
<parameter name="customerId" class="java.lang.String"/> 
<parameter name="invoiceId" class="java.lang.Integer"/> 
<parameter name="totalWithTax" class="java.lang.String"/> 
<parameter name="carriedBalance" class="java.lang.String"/> 
<queryString> 
    <![CDATA[select i.amount as amount,i.due_date as duedate,i.id as invoiceId from invoice i where i.id=$P{invoiceId};]]> 
</queryString> 
<field name="description" class="java.lang.String"/> 
<field name="price_per_item" class="java.math.BigDecimal"/> 
<field name="quantity" class="java.lang.Integer"/> 
<field name="amount" class="java.math.BigDecimal"/> 

<columnHeader> 
    <band height="34"> 
     <staticText> 
      <reportElement x="12" y="10" width="100" height="16" /> 
      <textElement> 
       <font size="11" isBold="false"/> 
      </textElement> 
      <text><![CDATA[Racun od]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="180" y="10" width="70" height="14" /> 
      <textElement> 
       <font size="10" isBold="false"/> 
      </textElement> 
      <text><![CDATA[Nacl Pl.]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="374" y="10" width="70" height="14" /> 
      <textElement> 
       <font size="10" isBold="false"/> 
      </textElement> 
      <text><![CDATA[Iznos]]></text> 
     </staticText> 
     <line> 
      <reportElement x="12" y="33" width="543" height="1" /> 
      <graphicElement> 
       <pen lineWidth="0.5"/> 
      </graphicElement> 
     </line> 
     <staticText> 
      <reportElement x="263" y="12" width="100" height="14" /> 
      <textElement> 
       <font size="10"/> 
      </textElement> 
      <text><![CDATA[Broj Racuna]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="484" y="12" width="71" height="14" /> 
      <textElement> 
       <font size="10"/> 
      </textElement> 
      <text><![CDATA[Otvoreno]]></text> 
     </staticText> 
    </band> 
</columnHeader> 
<detail> 
    <band height="17"> 
     <textField> 
      <reportElement x="154" y="0" width="100" height="11" > 

      </reportElement> 
      <textElement textAlignment="Right" verticalAlignment="Middle"/> 
      <textFieldExpression><![CDATA[$P{duedate}]]></textFieldExpression> 
     </textField> 
    </band> 
</detail> 
<summary> 
    <band height="20"> 
     <staticText> 
      <reportElement x="261" y="1" width="113" height="15" forecolor="#000000" /> 
      <textElement textAlignment="Left" verticalAlignment="Bottom"> 
       <font size="10" isBold="false"/> 
      </textElement> 
      <text><![CDATA[Ukupno CHF . . . . 
     ]]></text> 
     </staticText> 
     <textField> 
      <reportElement x="344" y="0" width="100" height="13" > 
       <printWhenExpression><![CDATA[new Boolean($F{amount}!==null)]]></printWhenExpression> 
      </reportElement> 
      <textElement textAlignment="Right" verticalAlignment="Middle"/> 
      <textFieldExpression><![CDATA[$P{amount}]]></textFieldExpression> 
     </textField> 
     <line> 
      <reportElement x="12" y="1" width="543" height="1" /> 
      <graphicElement> 
       <pen lineWidth="0.5"/> 
      </graphicElement> 
     </line> 
     <line> 
      <reportElement x="254" y="17" width="301" height="1" /> 
      <graphicElement> 
       <pen lineWidth="0.5"/> 
      </graphicElement> 
     </line> 
    </band> 
</summary> 
</jasperReport> 

回答

0

有以添加子報表iReport的幾個步驟。我會盡我所能,一步一步地解釋

步驟:

1)請與將在你未來subereport

2)將子報表作爲參數值空白報表元素進入僅有細節帶

3)嚮導彈出時 - 使用現有報告或創建一個新的報告。

4)使用設計查詢砸你需要在報表

5)確保您使用用於填充主報告

6)現在降領域相同的連接中的字段和如你的子報告和設計。任何你使參數失效的值,如「Part.num」,那麼你必須將它包含在你的初始主報告中。

7)轉到主報告並單擊子報告框並向下滾動屬性選項卡。你在哪裏看到「參數」字段。雙擊打開並點擊添加。 M *** ake確保你命名這個參數的方式與你在子報表中命名的方式完全相同,然後只需搜索該字段並點擊OK。

8)將它們編譯並繼續爲您添加或從子報表/子報表中刪除的每個參數執行完全相同的步驟。

我希望這可以幫助,如果您有任何問題,請告訴我。

來源:http://community.jaspersoft.com/wiki/subreports-jaspersoft-studio

相關問題