Share via


Procedura dettagliata: utilizzo di un'origine dei dati di database con il controllo del server Web ReportViewer in modalità di elaborazione locale

In questa procedura dettagliata viene illustrato come creare un report per un sito Web ASP.NET di Microsoft Visual Studio 2008 e aggiungere un controllo ReportViewer a una pagina Web per consentire la visualizzazione del report.

Prerequisiti

Per utilizzare questa procedura dettagliata, è necessario poter accedere al database di esempio AdventureWorks. Per ulteriori informazioni, vedere Procedura dettagliata: installazione del database AdventureWorks.

È inoltre necessario disporre di accesso a un server che esegue Microsoft Internet Information Services (IIS) 5.0 o versioni successive con le autorizzazioni per la creazione di una pagina Web ASP.NET.

Eseguire le operazioni seguenti per utilizzare modelli di Visual Studio 2008 e creare una pagina Web ASP.NET con un controllo ReportViewer configurato per la visualizzazione di un report creato. Per questo esempio creare l'applicazione in Microsoft Visual Basic.

Creazione di un nuovo sito Web

  1. Scegliere Nuovo dal menu File e quindi Sito Web.

  2. Nella finestra di dialogo Nuovo sito Web selezionare Sito Web ASP.NET.

  3. Nell'elenco Linguaggio scegliere Visual Basic e quindi fare clic su OK.

  4. Nella casella Percorso, scegliere HTTP se non è già selezionato, quindi fare clic su Sfoglia per spostarsi a una cartella nuova.

  5. Nella finestra di dialogo Scegli percorso fare clic su IIS locale e individuare la directory radice del sito Web.

  6. Fare clic su Crea nuova applicazione Web per creare una nuova cartella e digitare un nome per la stessa. Premere INVIO.

  7. Scegliere Apri.

  8. Fare clic su OK.

    Verrà aperto il progetto del sito Web in cui sarà visualizzata la pagina Web Default.aspx.

  9. In Esplora soluzioni, verificare che Default.aspx sia selezionato.

  10. Scegliere Finestra di progettazione dal menu Visualizza.

    A questo punto è possibile modificare la pagina predefinita del sito Web.

Definizione di una connessione ai dati e di un oggetto DataTable mediante l'aggiunta di un oggetto DataSet

  1. Nel menu Sito Web selezionare Aggiungi nuovo elemento.

  2. Nella finestra di dialogo Aggiungi nuovo elemento fare clic su DataSet. Fare clic su Aggiungi. Quando viene richiesto se aggiungere l'elemento alla cartella App_Code, fare clic su . In questo modo verrà aggiunto un nuovo file XSD denominato DataSet1.xsd al progetto, verrà aperto Progettazione DataSet e verrà avviata la Configurazione guidata TableAdapter.

  3. Se AdventureWorks è stato installato tramite SQLEXPRESS, nella pagina Scegliere la connessione dati è possibile visualizzare la connessione dati esistente sqlexpress.AdventureWorks.dbo. Selezionare la connessione e procedere al passaggio 6; altrimenti fare clic su Nuova connessione.

  4. Nella finestra di dialogo Origine dati selezionare Microsoft SQL Server (Sql Client).

  5. Nella finestra di dialogo Nome server immettere il nome del server in cui è reperibile il database di esempio AdventureWorks. Ad esempio, il nome dell'istanza predefinita di SQL Server Express è (locale)\sqlexpress. Dopo avere immesso il nome del server, selezionare AdventureWorks dall'elenco a discesa del database e scegliere OK.

  6. Fare clic su Avanti.

  7. Nella pagina Salva stringa di connessione nel file di configurazione dell'applicazione digitare il nome per la stringa di connessione o accettare il nome predefinito AdventureWorksConnectionString. Fare clic su Avanti.

  8. Nella pagina Seleziona un tipo di comando selezionare Usa istruzioni SQL. Verificare che gli altri pulsanti di opzione non siano selezionati.

  9. Nella pagina Immettere un'istruzione SQL immettere la query Transact-SQL seguente per recuperare i dati dal database AdventureWorks e fare clic su Fine. È anche possibile fare clic sul pulsante Generatore query e utilizzare Generatore query per creare la query e verificarla facendo clic sul pulsante Esegui query.

    SELECT d.Name as Dept, s.Name as Shift, e.EmployeeID as EmployeeID
    FROM (HumanResources.Department d
    INNER JOIN HumanResources.EmployeeDepartmentHistory e
        ON d.DepartmentID = e.DepartmentID)
    INNER JOIN HumanResources.Shift s
        ON e.ShiftID = s.ShiftID
    

    Se la query non restituisce i dati previsti, è possibile che si stia utilizzando una versione precedente di AdventureWorks. Per ulteriori informazioni sull'installazione della versione SQL Server 2005 di AdventureWorks, vedere Procedura dettagliata: installazione del database AdventureWorks.

  10. Nella pagina Scegliere i metodi per generare accettare le impostazioni predefinite Riempi un DataTable con Nome metodo: Fill e Restituisci un DataTable con Nome metodo: GetData. Fare clic su Avanti.

  11. Nella pagina Risultati procedura guidata fare clic su Fine.

    L'oggetto DataTable di ADO.NET è stato configurato come origine dei dati per il report.

  12. Nella pagina Progettazione DataSet in Visual Studio dovrebbe essere visualizzato l'oggetto DataTable aggiunto, il cui nome predefinito è DataTable1 e in cui sono elencate le colonne risultanti dalla definizione della query. Scegliere Anteprima dati dal menu Dati, quindi fare clic sul pulsante Anteprima per verificare i risultati della query.

Progettazione del report

  1. Scegliere Aggiungi nuovo elemento dal menu Sito Web.

  2. Nella finestra di dialogo Aggiungi nuovo elemento selezionare il modello Report, immettere un nome per il file del report e quindi fare clic su Aggiungi. In tal modo verrà creato un file di definizione del report (quello predefinito è Report.rdlc), verrà avviato Progettazione report e verrà visualizzato il riquadro Origini dei dati sito Web.

  3. Aprire la Casella degli strumenti. Fare clic su una casella di testo e quindi nell'area di progettazione del report.

  4. Immettere un titolo per il report nella casella di testo: # of Employees per Shift per Dept. Espandere la casella di testo in base alle esigenze.

  5. Trascinare un elemento del report Matrice dalla Casella degli strumenti sul report sotto la casella di testo. Lo sfondo bianco punteggiato rappresenta la pagina del report. Per regolare la posizione della matrice nella pagina, fare clic sull'angolo sinistro per selezionarla e trascinarla oppure utilizzare i tasti di direzione per spostare l'elemento in base alle esigenze.

  6. Espandere il nodo DataTable1 dalla finestra Origini dei dati del sito Web fino a visualizzare le colonne della query. Trascinare il campo Dept nella casella di testo Righe della prima colonna, seconda riga della matrice.

  7. Trascinare il campo Shift nella casella di testo Colonne della seconda colonna, prima riga della matrice. Con la casella di testo selezionata, nella finestra Proprietà impostare la proprietà TextAlign su Destra. Fare clic sulla casella di testo per attivare la barra degli strumenti Formattazione report e scegliere Grassetto.

  8. Selezionare la matrice facendo clic in qualunque punto della stessa. Fare clic con il pulsante destro del mouse e selezionare il nome della matrice (l'impostazione predefinita è matrix1). Verrà visualizzata una struttura intorno all'elemento del report matrice. Fare clic con il pulsante destro del mouse sulla struttura e selezionare Proprietà. Controllare che venga aperta la finestra di dialogo Proprietà matrice.

  9. Fare clic sulla scheda Gruppi. Nella sezione Colonne fare clic su Modifica.

  10. Nella finestra di dialogo Ordinamento e raggruppamento fare clic sulla scheda Ordinamento.

  11. Fare clic sulla prima casella sotto Espressione per attivare la casella di testo. Selezionare =Fields!Dept.Value dall'elenco a discesa. In tal modo i dati del report saranno ordinati in base al nome del reparto. Fare clic su OK.

  12. Fare clic su OK per chiudere la finestra di dialogo Proprietà matrice.

  13. Trascinare il campo EmployeeID dalla finestra Origini dei dati del sito Web alla casella di testo Dati nella seconda colonna, seconda riga della matrice. Fare clic con il pulsante destro del mouse sulla casella di testo e selezionare Espressione.

  14. Modificare la funzione di aggregazione predefinita Sum e impostarla su Count. Fare clic su OK.

  15. Fare clic su OK per chiudere la finestra di dialogo Proprietà casella di testo.

  16. Scegliere Salva tutto dal menu File.

Aggiunta di un controllo ReportViewer all'applicazione

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse su Default.aspx e selezionare Visualizza finestra di progettazione.

  2. Aprire la finestra Casella degli strumenti. Trascinare un controllo ReportViewer dal gruppo Dati nella pagina.

  3. Se non è già aperto, aprire il pannello smart tag Attività di ReportViewer facendo clic sul triangolo nell'angolo in alto a destra del controllo ReportViewer nella pagina Web. Nella casella Scegli report selezionare il nome completo del file Report.rdlc.

    La selezione di un report implica la creazione automatica di istanze delle origini dei dati utilizzate nel report. Viene generato il codice per creare un'istanza di ciascun oggetto DataTable (e del relativo contenitore DataSet), nonché di un controllo ObjectDataSource corrispondente a ciascuna origine dei dati utilizzata nel report. Il controllo dell'origine dei dati viene configurato automaticamente.

NoteNota

Per comprendere il motivo per il quale in ASP.NET viene utilizzato un controllo ObjectDataSource e non un controllo SqlDataSource, anche se l'origine dei dati sottostante può essere un database o un altro tipo di archivio dati fortemente tipizzato, vedere Creazione di origini dei dati per un report.

Generazione ed esecuzione dell'applicazione

  1. Premere CTRL+F5 per eseguire la pagina senza debug oppure F5 per eseguire contestualmente anche il debug.

    Il processo di generazione include la compilazione del report e l'aggiunta degli eventuali errori rilevati, ad esempio un errore di sintassi in un'espressione del report, alla finestra Elenco attività .

    La pagina Web viene visualizzata nel browser, mentre il controllo ReportViewer consente di visualizzare il report. È quindi possibile utilizzare la barra degli strumenti per spostarsi nel report, applicare lo zoom ed esportare i dati in Excel.

  2. Chiudere il browser.

Vedere anche

Riferimento

Microsoft.Reporting.WinForms.ReportViewer.Drillthrough
Microsoft.Reporting.WinForms.LocalReport.SubreportProcessing
Microsoft.Reporting.WebForms.ReportViewer.Drillthrough
Microsoft.Reporting.WebForms.LocalReport.SubreportProcessing

Concetti

Utilizzo del riquadro degli smart tag delle attività di ReportViewer

Altre risorse

Esempi e scenari