2012-08-06 17 views

risposta

22

È possibile eseguire questo un paio di modi.

  • Il primo è in realtà la creazione di 2 report separati e unendoli. Praticamente disegna ogni pagina come vuoi che guardi. All'esportazione, vengono create le 2 istanze di JasperPrint del report e quindi vengono esportate in batch.

    public byte[] generateReport(JasperPrint jasperPrint1, JasperPrint jasperPrint2) { 
        //throw the JasperPrint Objects in a list 
        List<JasperPrint> jasperPrintList = new ArrayList<JasperPrint>(); 
        jasperPrintList,add(jasperPrint1); 
        jasperPrintList,add(jasperPrint2); 
    
    
        ByteArrayOutputStream baos = new ByteArrayOutputStream();  
        JRPdfExporter exporter = new JRPdfExporter();  
        //Add the list as a Parameter 
        exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList); 
        //this will make a bookmark in the exported PDF for each of the reports 
        exporter.setParameter(JRPdfExporterParameter.IS_CREATING_BATCH_MODE_BOOKMARKS, Boolean.TRUE); 
        exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);  
        exporter.exportReport();  
        return baos.toByteArray(); 
    } 
    
  • La seconda opzione è quella di percorrere il percorso del sottoreport. Fondamentalmente si crea la prima pagina del report. Quindi si crea la seconda pagina del report. Quindi in iReport è possibile aggiungere il sottoreport in Summary Band, passando tutte le informazioni necessarie che devono essere eseguite (cioè Connessione al database, origine dati, parametri, ecc.). Sotto le proprietà del rapporto generale, assicurati che sia selezionato Summary on new page in modo che il sottoreport venga stampato sulla sua pagina.

+0

combinato con questo http://stackoverflow.com/a/23390202/1742973 l'ho fatto funzionare –

5

ho trovato un altro modo per aggiungere pagine a un report (utilizzando iReport 5.0.1): Si può solo aggiungere una nuova regione dettaglio, impostare la sua altezza per essere la stessa della prima e mettere il contenuto della seconda pagina in questa nuova regione. In realtà è possibile aggiungere tutte le regioni di dettaglio necessarie, creando così un rapporto multipagina.

+0

Il problema con questo approccio è che si ottengono le prime intestazioni di colonna delle bande di dati nelle pagine successive. –

+1

Accetto. La banda di dettagli è per le iterazioni, non per l'aggiunta di contenuto globale – frandevel

1

Per aggiungere una nuova pagina andare su Ireport e "Aggiungi gruppo di report", aggiungendo un gruppo di report è possibile aggiungere il numero di pagine desiderato.

Problemi correlati