BUILDING A USER
INTERFACE
Using CRYSTAL REPORTS
COME UN’APPLICAZIONE COMUNICA
CON L’UTENTE?
• Problema comune a tutte le applicazioni informatiche
• Forse meglio prima chiedersi…..
• COSA COMUNICA?
• I DATI
TIPOLOGIE DI DATO COMUNICATO
• INPUT/OUTPUT
• Configurazioni – CRUD
• OUTPUT
• Analisi dati
• Log Tecnici
• Monitoraggio
QUALI CARATTERISTICHE?
• EFFICACE
• Mostrare tutti i dati che servono
• CONCISA
• Solo quel che serve
• CHIARA
• Si deve capire cosa sto facendo (tooltip, icone)
• RESPONSIVA
• Non far aspettare l’utente (meglio una progress che una clessidra)
• FAMILIARE
• Usare quel che l’utente si aspetta (uno slider e non una combo per un
controllo volume
• ACCATTIVANTE
• Esteticamente gradevole
• FORGIVING
• Gestione degli errori chiara (NO «errore di runtime 112321»)
INTERFACCE DI CONFIGURAZIONE
• EDIT IN GRIGLIA
• PRO: MOLTO CONCISA
• CONTRO: DIFFICILE DA PROGRAMMARE E SPESSO DA
USARE
INTERFACCE DI CONFIGURAZIONE
• EDIT SU LISTA
• PRO: Più facile da programmare: la lista è in lettura
• CONTRO: più lungo l’input per l’utente
INTERFACCIA DI CONTROLLO
• Pannello di controllo
• PRO: molto immediata
• CONTRO: poco scalabile (non posso mostrare troppi dati)
INTERFACCIA REPORT
• PRO: posso mostrare
molti dati in varie
forme(grafici+testo),
scalabile, drillabile,
stampabile, integrabile
• CONTRO: sola lettura,
più complessa da
realizzare
CRYSTAL REPORTS
• Tool di reportistica
• Si connette direttamente a DB
• Permette di creare report anche piuttosto complessi
• È una delle soluzioni sul mercato, ma è quella che ha
avuto più diffusione
• Può essere richiamato da c# e integrato in applicazioni c#
• Alcuni elementi sono controintuitivi
PASSAGGI PER CREARE UN REPORT
• IMPOSTARE L’ORIGINE DATI
• Selezionare le tabelle/viste da usare
• Organizzare il diagramma relazionale
• Creare il report
• Scegliere i campi da mostrare
• Organizzare le sezioni
• L’eventuale raggruppamento
• Aggiungere i grafici
IMPOSTARE LA CONNESSIONE
• USARE OLEDB(ADO) con driver SQL server native client
Selezionare le tabelle
• Posso attaccarmi anche a una vista o a store (anche
parametriche!)
Organizzare il diagramma relazionale
Selezionare i campi
Il wizard…
• Modo veloce per ottenere qualcosa
• Spesso il risultato lascia a desiderare….
ESERCITAZIONE
• Creiamo un report vuoto
• Connettiamoci al nostro DB
• Usiamo il wizard per ottenere un primo report
Due modalità di visualizzazione
• STRUTTURA
• ANTEPRIMA
STRUTTURA DI UN REPORT
• Sezioni
• Gruppi
• Dettaglio
• Sono sezioni pensate per la stampa!
Aggiunta di campi al report
• Drag and drop da treeview a destra
• Il risultato cambia a seconda della sezione
Gli «esperti»
• Esperto Sezione
• Esperto Gruppo
• Esperto Ordinamento
• Esperto Modello
Formato Campo
• Varie opzioni di formattazione
USO DI FORMULE
• Utili per creare campi derivati
• Disponibili funzioni condizionali
• Disponibili operatori vari e funzioni
CAMPI SPECIALI
• Numero pagina
• Utente che lancia il report
• Pagine totali
• ecc
ALCUNE CONSIDERAZIONI FINALI
• Spesso è conveniente creare un’unica vista o tabella (o
anche Stored proc) a origine dei dati
• Non commettere l’errore di mettere la logica di
funzionamento un po’ nel report e un po’ nel db
ESERCITAZIONE
• Creiamo un report che ci mostri il totale energia prodotta
diviso per impianto e mese
• Un grafico opportuno che mostri la percentuale di energia
prodotta dai vari pannelli in relazione al totale
• Come sopra in relazione al mese
• Discutere le scelte fatte
Scarica

(Crystal reports): Building a USER INTERFACE