2016-05-03 23 views
-1

レポートを作成しました。1つの入力に対してのみ正常に動作しています。私は複数の請求書を印刷する場合。私は1枚の請求書を印刷することができ、このJavaコードを使用することによりHashMapを使用してパラメータを渡す方法入力

<?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="ageing-esr-40-srpski-subreport" 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="invoiceDate" class="java.lang.String"/> 
<parameter name="invoiceId" class="java.lang.Integer"/> 
<parameter name="invoiceDueDate" class="java.lang.String"/> 
<parameter name="newStatusId" class="java.lang.Integer"/> 
<parameter name="printAmount" class="java.lang.String"/> 
<parameter name="balance" class="java.lang.String"/> 
<title> 
    <band height="30"> 
     <staticText> 
      <reportElement x="2" y="14" width="65" height="14" /> 
      <textElement> 
       <font size="10" isBold="true"/> 
      </textElement> 
      <text><![CDATA[Racun od]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="83" y="14" width="65" height="14" /> 
      <textElement> 
       <font size="10" isBold="true"/> 
      </textElement> 
      <text><![CDATA[Nacin pl.]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="164" y="14" width="85" height="14" /> 
      <textElement textAlignment="Left"> 
       <font size="10" isBold="true"/> 
      </textElement> 
      <text><![CDATA[Broj racuna]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="262" y="14" width="85" height="14" /> 
      <textElement textAlignment="Left"> 
       <font size="10" isBold="true"/> 
      </textElement> 
      <text><![CDATA[Rok istekao]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="375" y="14" width="48" height="14" /> 
      <textElement> 
       <font size="10" isBold="true"/> 
      </textElement> 
      <text><![CDATA[Iznos]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="437" y="14" width="58" height="14" /> 
      <textElement> 
       <font size="10" isBold="true"/> 
      </textElement> 
      <text><![CDATA[Otvoreno]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="504" y="14" width="52" height="14" /> 
      <textElement> 
       <font size="10" isBold="true"/> 
      </textElement> 
      <text><![CDATA[Step.nap]]></text> 
     </staticText> 
    </band> 
</title> 
<pageHeader> 
    <band height="19"> 
     <textField> 
      <reportElement x="495" y="3" width="34" height="12" /> 
      <textElement textAlignment="Right"> 
       <font fontName="SansSerif" size="9"/> 
      </textElement> 
      <textFieldExpression class="java.lang.Integer"><![CDATA[$P{newStatusId}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="356" y="3" width="67" height="15" /> 
      <textElement textAlignment="Right"> 
       <font fontName="SansSerif" size="9"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$P{printAmount}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="262" y="3" width="100" height="14" /> 
      <textFieldExpression><![CDATA[$P{invoiceDueDate}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="164" y="3" width="75" height="14" /> 
      <textFieldExpression class="java.lang.Integer"><![CDATA[$P{invoiceId}]]></textFieldExpression> 
     </textField> 
     <staticText> 
      <reportElement x="83" y="3" width="77" height="14" /> 
      <textElement> 
       <font size="10" isBold="false"/> 
      </textElement> 
      <text><![CDATA[Racun]]></text> 
     </staticText> 
     <textField> 
      <reportElement x="2" y="3" width="75" height="14" /> 
      <textFieldExpression><![CDATA[$P{invoiceDate}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="423" y="2" width="67" height="15" /> 
      <textElement textAlignment="Right"> 
       <font fontName="SansSerif" size="9"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$P{printAmount}]]></textFieldExpression> 
     </textField> 
    </band> 
</pageHeader> 
<summary> 
    <band height="20"> 
     <staticText> 
      <reportElement x="266" y="0" width="163" height="15" /> 
      <textElement> 
       <font size="10" isBold="true"/> 
      </textElement> 
      <text><![CDATA[Ukupno CHF. . . . . . . . . . . . . . . .]]></text> 
     </staticText> 
     <textField> 
      <reportElement x="423" y="0" width="67" height="15" /> 
      <textElement textAlignment="Right"> 
       <font fontName="SansSerif" size="9"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$P{printAmount}]]></textFieldExpression> 
     </textField> 
    </band> 
</summary> 
</jasperReport> 

<?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="esr-design-40" pageWidth="595" pageHeight="842" 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="16"/> 
<property name="ireport.y" value="0"/> 
<scriptlet name="esrgenerator" class="dk.comtalk.billing.server.util.ESRGenerator"/> 
<parameter name="printAmount" class="java.lang.String"/> 
<parameter name="invoiceId" class="java.lang.Integer"/> 
<parameter name="customerId" class="java.lang.String"/> 
<parameter name="entityName" class="java.lang.String"/> 
<parameter name="entityAddress" class="java.lang.String"/> 
<parameter name="entityCity" class="java.lang.String"/> 
<parameter name="entityProvince" class="java.lang.String"/> 
<parameter name="entityPostalCode" class="java.lang.String"/> 
<parameter name="customerName" class="java.lang.String"/> 
<parameter name="customerAddress" class="java.lang.String"/> 
<parameter name="customerCity" class="java.lang.String"/> 
<parameter name="customerProvince" class="java.lang.String"/> 
<parameter name="customerPostalCode" class="java.lang.String"/> 
<parameter name="entityLogo" class="java.io.File"/> 
<parameter name="countryCode" class="java.lang.String"/> 
<parameter name="balance" class="java.lang.String"/> 
<parameter name="carriedBalance" class="java.lang.String"/> 
<parameter name="invoiceDueDate" class="java.lang.String"/> 
<parameter name="totalWithTax" class="java.lang.String"/> 
<parameter name="newStatusId" class="java.lang.Integer"/> 
<parameter name="invoiceDate" class="java.lang.String"/> 
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false"> 
    <defaultValueExpression><![CDATA["D:\\Ravi Workspace\\Openbrm\\open-brm-openbrm-2.0\\resources\\designs\\"]]></defaultValueExpression> 
</parameter> 
<queryString> 
    <![CDATA[select count(*) from payment_invoice p where p.invoice_id=$P{invoiceId};]]> 
</queryString> 
<field name="payment_count" class="java.lang.Integer"/> 
<group name="invoice_total"> 
    <groupFooter> 
     <band/> 
    </groupFooter> 
</group> 
<title> 
    <band height="430"> 
     <image> 
      <reportElement x="8" y="0" width="185" height="48" /> 
      <imageExpression><![CDATA[$P{entityLogo}]]></imageExpression> 
     </image> 
     <textField> 
      <reportElement x="57" y="120" width="181" height="14" /> 
      <textFieldExpression><![CDATA[$P{customerName}]]> </textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="57" y="148" width="294" height="14" /> 
      <textFieldExpression><![CDATA[$P{customerPostalCode}+ " " + $P{customerCity}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="57" y="162" width="211" height="14" /> 
      <textFieldExpression><![CDATA[$P{countryCode}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="57" y="134" width="181" height="14" /> 
      <textFieldExpression><![CDATA[$P{customerAddress}]]></textFieldExpression> 
     </textField> 
     <staticText> 
      <reportElement x="384" y="103" width="200" height="28" /> 
      <textElement> 
       <font size="11" isBold="true"/> 
      </textElement> 
      <text><![CDATA[1. opomena za neizmireni racun]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="405" y="173" width="179" height="14" /> 
      <text><![CDATA[Wangen b. Brüttisellen, 13.12.2015]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="36" y="201" width="328" height="19" /> 
      <text><![CDATA[Postovani gospodine/postovana gospodjo,]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="36" y="220" width="544" height="35" /> 
      <text><![CDATA[Dozvolite da Vas podsetimo da je, po podacima naseg knjigovodstva od danasnjeg dana, sledeci telefonski racun jos otvoren:]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="35" y="317" width="549" height="34" /> 
      <text><![CDATA[Ukoliko je Vasa uplata za ovde navedeni racun u medjuvremenu vec izvrsena, nemojte uzimati ovu opomenu u obzir. Ukoliko jos nije, molimo Vas da izvrsite uplatu izvrsite odmah.]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="35" y="351" width="557" height="69" /> 
      <text><![CDATA[Imajte u vidu da se kod opomena, uz regularni racun, placa administrativna taksa za obradu u visini od Fr. 20.00. Ev.deaktivacija servisa se, takodje, naplacuje, dodatnih Fr. 20.00. Molimo Vas stoga za postovanje nasih rokova uplate. 

    Najlepse hvala.]]></text> 
     </staticText> 
     <subreport> 
      <reportElement x="36" y="268" width="559" height="60" /> 
      <subreportParameter name="invoiceId"> 
       <subreportParameterExpression><![CDATA[$P{invoiceId}]]></subreportParameterExpression> 
      </subreportParameter> 
      <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
      <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "ageing-esr-40-srpski-subreport.jasper"]]></subreportExpression> 
     </subreport> 
    </band> 
</title> 
<pageHeader> 
    <band height="117"> 
     <staticText> 
      <reportElement x="36" y="101" width="576" height="16" /> 
      <text><![CDATA[Symphonica AG | Hegnaustrasse 17 | 8602 Wangen b. Brüttisellen | Telefon 0840 988 988 | Fax 043 536 05 43]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="35" y="8" width="243" height="26" /> 
      <text><![CDATA[S postovanjem, 
    BALKATEL | Symphonica A.D.]]></text> 
     </staticText> 
    </band> 
</pageHeader> 
<summary> 
    <band height="294"> 
     <textField> 
      <reportElement x="5" y="56" width="123" height="14" /> 
      <textFieldExpression><![CDATA[$P{entityName}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="5" y="68" width="153" height="14" /> 
      <textFieldExpression><![CDATA[$P{entityAddress}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="5" y="81" width="226" height="14" /> 
      <textFieldExpression><![CDATA[$P{entityPostalCode}+ " " + $P{entityCity}]]></textFieldExpression> 
     </textField> 
     <staticText> 
      <reportElement x="5" y="26" width="100" height="15" /> 
      <text><![CDATA[6301 Zug]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="179" y="26" width="100" height="15" /> 
      <text><![CDATA[6301 Zug]]></text> 
     </staticText> 
     <textField> 
      <reportElement x="179" y="56" width="123" height="14" /> 
      <textFieldExpression><![CDATA[$P{entityName}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="179" y="68" width="149" height="14" /> 
      <textFieldExpression><![CDATA[$P{entityAddress}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="179" y="81" width="226" height="14" /> 
      <textFieldExpression><![CDATA[$P{entityPostalCode}+ " " + $P{entityCity}]]></textFieldExpression> 
     </textField> 
     <staticText> 
      <reportElement x="97" y="110" width="100" height="14" /> 
      <text><![CDATA[01-2653-5]]></text> 
     </staticText> 
     <staticText> 
      <reportElement x="272" y="110" width="100" height="16" /> 
      <text><![CDATA[01-2653-5]]></text> 
     </staticText> 
     <textField> 
      <reportElement x="169" y="236" width="640" height="30" /> 
      <textElement textAlignment="Left"> 
       <font fontName="SansSerif" size="13"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$P{esrgenerator_SCRIPTLET}.generateCodeline($P{printAmount}.split("\\s+")[1],"01",">","971786","+","0126535",">",$P{invoiceId})]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="353" y="132" width="181" height="14" /> 
      <textFieldExpression><![CDATA[$P{customerName}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="353" y="144" width="181" height="14" /> 
      <textFieldExpression><![CDATA[$P{customerAddress}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="353" y="158" width="294" height="14" /> 
      <textFieldExpression><![CDATA[$P{customerPostalCode}+ " " + $P{customerCity}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="8" y="193" width="181" height="14" /> 
      <textFieldExpression><![CDATA[$P{customerName}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="8" y="205" width="181" height="14" /> 
      <textFieldExpression><![CDATA[$P{customerAddress}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="8" y="218" width="251" height="14" /> 
      <textFieldExpression><![CDATA[$P{customerPostalCode}+ " " + $P{customerCity}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="353" y="172" width="211" height="14" /> 
      <textFieldExpression><![CDATA[$P{countryCode}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="8" y="230" width="194" height="14" /> 
      <textFieldExpression><![CDATA[$P{countryCode}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="353" y="92" width="424" height="19" /> 
      <textElement> 
       <font fontName="SansSerif" size="11" isBold="true"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$P{esrgenerator_SCRIPTLET}.getReferenceNumber("971786",$P{invoiceId})]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="8" y="172" width="186" height="16" /> 
      <textFieldExpression><![CDATA[$P{esrgenerator_SCRIPTLET}.getReferenceNumber("971786",$P{invoiceId})]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="132" y="142" width="47" height="15" /> 
      <textElement> 
       <font fontName="SansSerif" size="11"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$P{esrgenerator_SCRIPTLET}.splitAmount($P{printAmount}.split("\\s+")[1].split("\\.")[1])]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="301" y="142" width="40" height="15" /> 
      <textElement> 
       <font fontName="SansSerif" size="11"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$P{esrgenerator_SCRIPTLET}.splitAmount($P{printAmount}.split("\\s+")[1].split("\\.")[1])]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="2" y="142" width="105" height="15" /> 
      <textElement textAlignment="Right"> 
       <font fontName="SansSerif" size="11"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$P{esrgenerator_SCRIPTLET}.splitAmount($P{printAmount}.split("\\s+")[1].split("\\.")[0]).trim()]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="173" y="142" width="105" height="15" /> 
      <textElement textAlignment="Right"> 
       <font fontName="SansSerif" size="11"/> 
      </textElement> 
      <textFieldExpression> <![CDATA[$P{esrgenerator_SCRIPTLET}.splitAmount($P{printAmount}.split("\\s+")[1].split("\\.")[0]).trim()]]></textFieldExpression> 
     </textField> 
    </band> 
</summary> 
</jasperReport> 

ファイルsubreport.jrxml:どのように私はHashMapの入力とループそれら

メインレポートを使用してパラメータを渡すことによって生成することができます詳細

public static JasperPrint generateAgeingESRFile(InvoiceDTO invoice, Integer userId, Integer entityId , Integer newStatusId) throws FileNotFoundException, 
     SessionInternalError { 

    try { 

    ContactDTOEx to=null; 
    ContactDTOEx from=null; 

     // This is needed for JasperRerpots to work, for some twisted XWindows issue 
     System.setProperty("java.awt.headless", "true"); 
    /* 
     String designFile = com.sapienter.jbilling.common.Util.getSysProp("base_dir") 
          + "designs/" + "ageing-esr-" + entityId + ".jasper"; 
    */ 

     String design = "ageing-esr-" + entityId; 

    String designFile = getAgeingESRDesignFile(design, invoice); 

     File compiledDesign = new File(designFile); 
     LOG.debug("Generating paper esr with design file : " + designFile + "The Ageing Step is " + newStatusId); 
     FileInputStream stream = new FileInputStream(compiledDesign); 
     Locale locale = (new UserBL(userId).getLocale()); 

    ContactBL contact = new ContactBL(); 
     contact.setInvoice(invoice.getId()); 
     to = contact.getDTO(); 

     entityId = invoice.getBaseUser().getEntity().getId(); 
     Date lastStatusChangeDate = invoice.getBaseUser().getLastStatusChange(); 
     contact.setEntity(entityId); 
     from = contact.getDTO(); 

    //LOG.debug("The ageing step is " + newStatusId); 
     // add all the invoice data 


    HashMap<String, Object> parameters = new HashMap<String, Object>(); 
     parameters.put("invoiceNumber", invoice.getPublicNumber()); 
     parameters.put("invoiceId", invoice.getId()); 
    parameters.put("newStatusId", newStatusId); 
    parameters.put("totalWithTax", Util.formatMoney(invoice.getTotal(), 
     invoice.getUserId(), invoice.getCurrency().getId(), false)); 
     parameters.put("customerId", invoice.getUserId().toString()); 
     parameters.put("invoiceDate", Util.formatDate(invoice.getCreateDatetime(), invoice.getUserId())); 
     parameters.put("invoiceDueDate", Util.formatDate(invoice.getDueDate(), invoice.getUserId())); 
     parameters.put("invoiceGeneratedDate", Util.formatDate(invoice.getCreateTimestamp(), invoice.getUserId())); 
     parameters.put("statusChangeDate", Util.formatDate(lastStatusChangeDate, invoice.getUserId())); 

    parameters.put("entityName", printable(from.getOrganizationName())); 
     parameters.put("entityAddress", printable(from.getAddress1())); 
     parameters.put("entityAddress2", printable(from.getAddress2())); 
     parameters.put("entityPostalCode", printable(from.getPostalCode())); 
     parameters.put("entityCity", printable(from.getCity())); 
     parameters.put("entityProvince", printable(from.getStateProvince())); 
     parameters.put("entityPhoneCountryCode", printable(from.getPhoneCountryCode().toString())); 
    parameters.put("entityPhoneAreaCode", printable(from.getPhoneAreaCode().toString())); 
    parameters.put("entityPhoneContry", printable(from.getPhoneNumber().toString())); 

     parameters.put("customerOrganization", printable(to.getOrganizationName())); 
     parameters.put("customerName", printable(to.getFirstName(), to.getLastName())); 
     parameters.put("customerAddress", printable(to.getAddress1())); 
     parameters.put("customerAddress2", printable(to.getAddress2())); 
     parameters.put("customerPostalCode", printable(to.getPostalCode())); 
     parameters.put("customerCity", printable(to.getCity())); 
     parameters.put("customerProvince", printable(to.getStateProvince())); 
     parameters.put("countryCode", printable(to.getCountryCode()));    
     parameters.put("carriedBalance", Util.formatMoney(invoice.getCarriedBalance(), 
     invoice.getUserId(), invoice.getCurrency().getId(), false)); 

    Collection invoicePaymentMaps = invoice.getPaymentMap(); 
    List list = new ArrayList(invoicePaymentMaps); 
    if(list==null || list.isEmpty()){ 
    LOG.debug("invoicePaymentMaps is null, so pass totalWithTax as param "); 
    parameters.put("printAmount", Util.formatMoney(invoice.getTotal(), 
      invoice.getUserId(), invoice.getCurrency().getId(), false)); 
    }else{ 
    LOG.debug("invoicePaymentMaps is not null, so pass balance as param "); 
    parameters.put("printAmount", Util.formatMoney(invoice.getBalance(), 
      invoice.getUserId(), invoice.getCurrency().getId(), false)); 
    } 

     // the logo is a file 
     File logo = new File(com.sapienter.jbilling.common.Util 
       .getSysProp("base_dir") 
       + "logos/entity-" + entityId + ".jpg"); 
     parameters.put("entityLogo", logo); 

     BigDecimal taxTotal = new BigDecimal(0); 
     int taxItemIndex = 0; 
     // set report locale 
     parameters.put(JRParameter.REPORT_LOCALE, locale); 

     // at last, generate the report 
     JasperPrint report = null; 
     report = JasperFillManager.fillReport(stream, parameters, new JREmptyDataSource()); 

     stream.close(); 

     return report; 
} catch (Exception e) { 
     LOG.error("Exception generating ESR receipt", e); 
     return null; 
    } 
} 

enter image description here

答えて

0

は、などRacunのOD、Nacin P1のとしてヘッダに(あなたがiReportはを使用している場合は、パレットから)あなたはここで、表形式でデータを必要とするあなたのジャスパーレポートにテーブルを作成します

  1. 私の入力があるように見えます
  2. レポートに「Invoices」とパラメータクラスを作成し、java.util.Listとしてパラメータクラスを作成する
  3. ケースにPOJO、InvoiceDTOを作成し、レポートに印刷するすべての属性を設定するゲッターを作成します。
  4. InvoiceDTOのリストを作成します。
  5. テーブル(ステップ1で作成)に、1行を追加します。すべてのヘッダー(InvoiceDTOの属性)は列を表します。列ごとにその行にテキストフィールドを追加します。
  6. は$ F {InvoiceDTO内の属性の名前}
  7. として、すべてのテキストフィールドを表すJavaコードの中でこのようなマップを作成します。 地図マップ=新しいHashMapの<を>(); map.put( "Invoice"、InvoiceDtoのあなたのリスト);

  8. このコードをjavaに入れます。 JasperFillManager.fillReport(stream、map、new JREmptyDataSource());

+0

私は私のコードリストでこれを追加した invoiceList =新しいArrayListを(); \t invoiceList.add(請求書); \t JRBeanCollectionDataSource beanColDataSource =新しいJRBeanCollectionDataSource(invoiceList); JasperPrint report = null; \t \t parameters.put( "invoiceList"、invoiceList); report = JasperFillManager.fillReport(ストリーム、パラメータ、新しいJREmptyDataSource()); – Hari

+0

どのように私はinvoiceListパラメータを使用してjrxmlで印刷する必要があります。私に提案してください。 – Hari

+0

@ハリ、私はあなたのコメントに基づいて自分の投稿を編集しました。 – PeaceIsPearl

関連する問題