Condividi tramite


Modalità di utilizzo dei controlli dei visualizzatori report

I controlli dei visualizzatori report sono controlli .NET che è possibile aggiungere a un form in un'applicazione Windows o Web per poter visualizzare i report all'interno di tale form.

Quando si pianifica la creazione di un'applicazione con l'SDK di Crystal Reports, uno degli aspetti più importanti da considerare è la modalità di utilizzo dei controlli dei visualizzatori report. L'apprendimento delle nozioni di base dell'SDK concernenti tali controlli consente di scegliere la struttura più adatta al progetto Crystal Reports per Visual Studio.

Definizione dei controlli .NET

I controlli Microsoft .NET rappresentano uno speciale tipo di classi che vengono visualizzate nella casella degli strumenti di Visual Studio. Tali controlli vengono aggiunti a un Web Form o a un Windows Form come oggetti GUI ed ereditano da una classe di controlli di base comune. Tra i controlli .NET più diffusi figurano: Button, DropDownList, CheckBox, TextBox e DataGrid.

I controlli Microsoft .NET si conformano alla seguente procedura consigliata: separare il livello della presentazione dal livello della logica aziendale. Le informazioni relative alla visualizzazione vengono incapsulate all'interno del controllo nel Web Form o nel Windows Form. Nella classe di codice sottostante viene creata un'istanza a livello di classe per il controllo .NET. Questa variabile di istanza consente di accedere alle proprietà, ai metodi e agli eventi del controllo.

Le funzionalità dei controlli Microsoft .NET sono identiche per i Windows Form e i Web Form. .NET Framework consente di visualizzare ogni pagina Web sotto forma di form contenente controlli, come in un'applicazione Windows.

Utilizzo dei controlli .NET per la visualizzazione dei report in Crystal Reports

Uno dei punti di forza degli strumenti per la creazione di report consiste nel fatto che incapsulano attività complesse correlate alla struttura, alla progettazione e al rendering dei report all'interno di uno strumento GUI di semplice utilizzo. In modo analogo, i controlli .NET incapsulano attività complesse correlate alla visualizzazione e all'inserimento dei dati all'interno di un oggetto GUI di semplice utilizzo in un Web Form o in un Windows Form.

Grazie ai controlli .NET, è possibile svolgere difficili operazioni di visualizzazione e di creazione report. Tutte le informazioni più complesse relative ai report, che venivano prima incapsulate solo nell'applicazione indipendente Crystal Reports, sono state ora inserite in un controllo .NET come in un visualizzatore report.

Controlli dei visualizzatori report disponibili

Crystal Reports per Visual Studio viene fornito con due versioni del controllo CrystalReportViewer: una per le applicazioni Web e l'altra per le applicazioni Windows. Il controllo CrystalReportViewer, situato all'interno dello spazio dei nomi CrystalDecisions.Web, è utilizzato dai progetti Web ASP.NET. Il controllo CrystalReportViewer, situato all'interno dello spazio dei nomi CrystalDecisions.Windows.Forms, è invece utilizzato dai progetti Windows.

NoteNota

Crystal Reports per Visual Studio viene fornito con un'ampia gamma di significativi miglioramenti apportati al controllo CrystalReportViewer. Per ulteriori informazioni, vedere Controllo CrystalReportViewer.

Il controllo CrystalReportPartsViewer viene utilizzato per visualizzare solo alcune parti del report in una pagina Web. Per informazioni su come utilizzare il controllo delle parti del report, vedere Esercitazione: Visualizzazione delle parti di report mediante il controllo CrystalReportPartsViewer.

Visualizzazione di un report mediante il controllo CrystalReportViewer

Il controllo CrystalReportViewer consente di visualizzare un solo report alla volta, in base al report collegato al codice in uso. Per indicare al controllo il report da visualizzare, collegare la proprietà ReportSource del controllo a un report specifico. In fase di esecuzione, il controllo carica il report collegato alla proprietà ReportSource e lo visualizza.

Nella sua forma più semplice, l'assegnazione si presenta come segue:

crystalReportViewer1.ReportSource = "C:\WorldSalesReport.rpt"
crystalReportViewer1.ReportSource = "C:\\WorldSalesReport.rpt";

In questo caso, il report è collegato al controllo direttamente dal percorso nella directory del file.

Si tratta di un esempio eloquente del metodo più elementare per collegare un report al controllo CrystalReportViewer. Per un elenco completo dei possibili scenari di collegamento, vedere Scenario di collegamento dei report da utilizzare

Anche il controllo CrystalReportViewer si collega a oggetti dati?

No, il controllo CrystalReportViewer si collega a un oggetto report, non a un oggetto dati.

La funzione di tale controllo è infatti differente da quella di altri controlli .NET, i quali si collegano ai dati ed eseguono la formattazione dei dati non elaborati nella pagina. Poiché nella finestra di progettazione incorporata di Crystal Reports tali operazioni vengono eseguite automaticamente ogni volta che viene creato un report (per definizione un report incapsula recupero e visualizzazione dati), il controllo CrystalReportViewer si occupa solo della visualizzazione di un oggetto report.

Nella tabella riportata di seguito viene confrontato il collegamento a un controllo dati .NET con il collegamento a un controllo CrystalReportViewer.

Tipo di controllo
Collegamento
Connettività livello successivo
Controllo dati .NET (ad esempio DataGrid)
Un oggetto dati (DataSet, DataReader, DataView, IDictionary, ICollection, DataTable).
Nessuno
Controllo del visualizzatorr di report .NET (ad esempio CrystalReportViewer)
Un oggetto report (che incapsula un file di report Crystal).
Il file di report Crystal dispone di una connettività dati incorporata, che consente la connessione a varie origini dati, ad esempio ODBC e OleDb, nonché oggetti DataReader e DataSet.

Per aiutare l'utente a ricordare che un controllo CrystalReportViewer si collega a un oggetto report anziché a un oggetto dati, la proprietà relativa all'origine del controllo del visualizzatore di report è denominata ReportSource (non DataSource).

Collegamento automatico dei report

Un altro importante elemento di differenziazione di CrystalReportViewer rispetto alla maggior parte degli altri controlli .NET, è che il collegamento per questo tipo di controllo non comporta la necessità di chiamare manualmente un metodo di collegamento. CrystalReportViewer collega infatti automaticamente il visualizzatore report all'oggetto report. Per ulteriori informazioni sul collegamento dei report, vedere Scenario di collegamento dei report da utilizzare.

Contenuto della sezione: