Ok, altro giro, altra corsa con iReport! 🙂
Abbiamo visto come usare iReport per creare un documento jasper report con diverse sezioni di dettaglio. Ora però si pone un problema: le sezioni devono comparire solo se sono presenti i dati che esse contengono. Come facciamo?
- Nel “Report Inspector” evidenziamo la sezione che ci interessa (nella figura è stata evidenziata con un piccolo rettangolo rosso sulla sinistra)
- Nelle “Proprietà ” (sulla destra, freccia rossa), premiamo sui 3 puntini della voce “Stampa quando espressione”
- Nell’interfaccia che si apre possiamo scrivere il codice necessario per comunicare alla sezione di comparire solo quando il codice che scriviamo lì dentro risulta vero!
Esempio di codice che si può scrivere:
((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("/stampaIntervento/datiIntervento/riga").next()
Il codice sopra riportato si riferisce ad un datasource di tipo XML e verifica la presenza del tag <riga> dopo il tag <datiIntervento>. Se lo trova il risultato è “true” e quindi la sezione verrà mostrata, se non lo trova la sezione sarà nascosta.