2016-10-07 3 views
-1

versucht Unter Bericht mit dem nächsten Code zu machen:wie jasper reports sub report mit hashmap variable ausführen?

int SelectedVoucher=Integer.valueOf(VNumber_ID_lbl.getText()); 
try { 
    Connect c=new Connect(); 
    HashMap map = new HashMap(); 
    map.put("Voucher_ID", SelectedVoucher); 
    String PaymentReport="src\\voucherexpress\\VoucherReport.jrxml"; 
    String SubPaymentReport="src\\voucherexpress\\VoucherReport_subreport1.jrxml";    
    JasperReport jasperMasterReport = JasperCompileManager.compileReport(PaymentReport); 
    JasperReport jasperSubReport = JasperCompileManager.compileReport(SubPaymentReport); 

    JasperPrint jasp_print=JasperFillManager.fillReport(jasperMasterReport, map,c.Connstr); 
    JasperViewer.viewReport(jasp_print); 
    c.Connstr.close(); 

} catch (JRException | SQLException | IOException ex) { 
    JOptionPane.showMessageDialog(null, ex); 
} 

I Unter Bericht zu Hauptbericht hinzugefügt, erstellen neue Abfrage, es testen und es ist gut Runnin. Beide Berichte verwenden den gleichen Parameter (Voucher_ID) aber wenn ich es mit dem Hauptbericht ausführe, zeigt es nur die Hauptberichtdaten und die Unterabfrage ist leer. , wie kann ich den Unterbericht im Hauptbericht laufen

Antwort

1

ich das Problem gelöst habe:
zuerst: Es gibt keine Verwendung dieser Zeilen ist:

String SubPaymentReport="src\\voucherexpress\\VoucherReport_subreport1.jrxml"; 
JasperReport jasperSubReport = JasperCompileManager.compileReport(SubPaymentReport); 

Sekunde: in Seite Haupt-Report-Design Klicken Sie auf Unterbericht und wählen Sie Parameter aus Eigenschaften, fügen Sie den gleichen Parameter des Hauptberichts >>> und fertig, es ist Arbeit

Verwandte Themen