Utilizzare Jasper Reports – formattazione di base

jasperNella scorsa puntata ci eravamo lasciati con un report minimale, dall’aspetto grafico nel complesso gradevole (abbiamo infatti usato uno stile predefinito) ma decisamente scarso se si esaminano alcuni dettagli, ad esempio:

  • titolo e descrizione sono quelli di default: “TITLE” e “Add a description here”;
  • intestazioni: al posto dei nomi nudi e crudi delle colonne del database bisognerebbe avere delle intestazioni più leggibili;
  • le colonne PRODUCT_ID e PRODUCT_COST sono eccessivamente larghe;
  • gli allineamenti delle colonne sono tutti sbagliati, bisognerebbe infatti allineare i valori di PRODUCT_ID al centro, mentre quelli di PRODUCT_COST a sinistra;
  • in PRODUCT_COST bisogna inserire il simbolo di valuta e due cifre decimali, separate dalla virgola visto che il report è pensato per l’utenza italiana;
  • l’indicazione del numero di pagina è in inglese, dobbiamo tradurla in italiano.

Operiamo

Per prima cosa, al posto di titolo e descrizione di default mettiamo “Prodotti” e “Catalogo completo”; per modificare questi elementi è sufficiente fare doppio clic, modificare il testo esistente e premere invio. Stesso discorso per le intestazioni, dove faremo queste modifiche:

  • PRODUCT_ID –> ID;
  • PRODUCT_NAME –> Nome Prodotto;
  • PRODUCT_COST –> Costo

Per allineare diversamente i campi bisogna invece invece:

  • selezionare la casella relativa al campo che ci interessa, ad esempio $F{PRODUCT_ID};
  • selezionare il tipo di allineamento orizzontale: sinistra, centro, destra, giustificato. Queste opzioni sono raggiungibili in diversi modi: dalla barra degli strumenti appena sopra il designer oppure dal riquadro Prorietà, solitamente posizionato a destra.

Dopo avere allineato i campi come deciso nella nostra analisi (ovvero ID al centro e Costo a sinistra) procediamo a modificare la larghezza degli stessi. Per fare ciò bisogna modificare larghezza e posizione sia delle intestazioni che dei campi stessi, ma grazie agli strumenti di formattazione di iReport questo compito è una passeggiata. Si comincia modificando posizione e dimensione delle intestazioni soltanto, facendo in modo che le caselle siano comunque adiacenti l’una con l’altra per mantenere un aspetto ordinato; in seguito è sufficiente adattare posizione e dimensione dei campi in base alla propria intestazione. Ecco il procedimento in dettaglio:

  • stringere l’intestazione ID in modo che sia larga 100 pixel: si può anche inserire questo valore manualmente, nel riquadro Proprietà;
  • spostare l’intestazione Nome prodotto a sinistra, adiacente al bordo destro dell’intestazione ID appena modificata. Anche qui è possibile intervenire manualmente sul valore sinistra nel riquadro Proprietà per essere sicuri di fare un lavoro preciso al pixel;
  • ridimensionare Nome prodotto in modo che sia largo 300 pixel;
  • modificare la posizione di Costo a 400 (infatti 100 + 300 = 400) e la larghezza a 155, per evitare di uscire dal bordo destro.

Per adattare i campi tuttavia non sarà necessario ripetere tutto il procedimento, ad esempio per adattare il campo $F{PRODUCT_ID} basta procedere in questo modo:

  • selezionare con il mouse l’intestazione;
  • tenendo premuto CTRL, cliccare sul campo $F{PRODUCT_ID};
  • tasto destro del mouse –> allineamento –> allinea a sinistra;
  • tasto destro del mouse –> dimensione –> stessa larghezza.

e ripetere per ogni intestazione / campo.

Internazionalizzazione

Le funzionalità di internazionalizzazione di iReport (e JasperReports) sono decisamente molto più flessibili della soluzione che vedremo in questo articolo, ma richiedono sicuramente più lavoro e saranno oggetto di un prossimo articolo. Nel frattempo accontentiamoci di sfruttare le funzionalità disponibili senza farci troppe domande sui meccanismi che le regolano:

  • selezionare il campo Costo;
  • nel riquadro Proprietà cercare il gruppo text field properties e cliccare sul simbolo “…” accanto alla voce Pattern;
  • nella finestra di dialogo verranno presentate diverse opzioni di formattazioni, molto simili a quelle disponibili su programmi come Excel o OpenOffice Calc;
  • selezionare la formattazione di tipo Valuta.

iReport automaticamente eseguirà il report con la lingua predefinita; nel nostro caso è l’italiano, quindi la valuta viene mostrata con il simbolo dell’Euro e i decimali separati da virgola. Per cambiare la lingua di default bisogna andare nel menu Strumenti / opzioni / iReport / Compilazione ed esecuzione e selezionare un Report locale differente.