Condividi tramite


Procedura dettagliata: utilizzo di un'origine dei dati di oggetti business con il controllo Windows Form di ReportViewer in modalità di elaborazione locale

In questa procedura dettagliata viene illustrato come utilizzare l'origine dati di un oggetto tramite gli oggetti business di un rapporto in un'applicazione Windows Form di Microsoft Visual Studio. Per ulteriori informazioni sugli oggetti business e le origini dati degli oggetti, vedere Binding to Business Objects

Per aggiungere un rapporto a un progetto di applicazione Windows Form, attenersi alla procedura descritta di seguito. Per questo esempio l'applicazione verrà creata in Microsoft Visual C#.

Creare un nuovo progetto di applicazione Windows Form

  1. Scegliere Nuovo dal menu File, quindi selezionare Progetto.

  2. Nel riquadro Modelli installati della finestra di dialogo Nuovo progetto scegliere Visual C#, quindi il modello Applicazione Windows Form. È possibile che il nodo C# sia all'interno di Altri linguaggi, a seconda delle impostazioni di avvio configurate in Visual Studio.

  3. Digitare BusinessObject come nome del progetto, quindi fare clic su OK.

Creare oggetti business da utilizzare come origine dati

  1. Scegliere Aggiungi nuovo elemento dal menu Progetto.

  2. Nella finestra di dialogo Aggiungi nuovo elemento selezionare Classe, digitare BusinessObjects.cs come nome di file e fare clic su Aggiungi.

    Il nuovo file viene aggiunto al progetto e automaticamente aperto in Visual Studio.

  3. Sostituire il codice predefinito per BusinessObjects.cs con il codice seguente:

    using System;
    using System.Collections.Generic;
    
    // Define the Business Object "Product" with two public properties
    //    of simple datatypes.
    public class Product {
        private string m_name;
        private int m_price;
    
        public Product(string name, int price) {
            m_name = name;
            m_price = price;
        }
    
        public string Name {
            get {
                return m_name;
            }
        }
    
        public int Price {
            get {
                return m_price;
            }
        }
    }
    
    // Define Business Object "Merchant" that provides a 
    //    GetProducts method that returns a collection of 
    //    Product objects.
    
    public class Merchant {
        private List<Product> m_products;
    
        public Merchant() {
            m_products = new List<Product>();
            m_products.Add(new Product("Pen", 25));
            m_products.Add(new Product("Pencil", 30));
            m_products.Add(new Product("Notebook", 15));
        }
    
        public List<Product> GetProducts() {
            return m_products;
        }
    }
    
  4. Scegliere Compila soluzione dal menu Progetto. In questo modo viene creato un assembly per l'oggetto, che verrà successivamente utilizzato come origine dei dati per il rapporto.

Aggiungere un rapporto al progetto utilizzando la Creazione guidata rapporto

  1. Scegliere Aggiungi nuovo elemento dal menu Progetto.

  2. Nella finestra di dialogo Aggiungi nuovo elemento selezionare Creazione guidata rapporto. Digitare un nome per il rapporto e fare clic su Aggiungi.

    Verrà avviata la Creazione guidata rapporto con la Configurazione guidata origine dati.

  3. Nella pagina Seleziona un tipo di origine dati selezionare Oggetto, quindi fare clic su Avanti.

  4. Nella pagina Selezionare gli oggetti dati espandere la gerarchia di classi in BusinessObject fino a visualizzare Product nell'elenco. Selezionare Product e fare clic su Fine.

    A questo punto, si tornerà alla Creazione guidata rapporto. Si noti che il nuovo oggetto origine dati viene aggiunto al progetto in Esplora soluzioni.

  5. Nella casella Origine dati nella pagina Proprietà set di dati verificare che sia selezionato globale.

  6. Nella casella Set di dati disponibili verificare che sia selezionato Prodotto.

  7. Scegliere Avanti.

  8. Nella pagina Disponi campi effettuare le operazioni seguenti:

    1. Trascinare Name da Campi disponibili alla casella Gruppi di righe.

    2. Trascinare Price da Campi disponibili alla casella Valori.

  9. Fare clic due volte su Avanti, quindi fare clic su Fine.

    Verrà creato il file con estensione rdlc, che verrà aperto in Progettazione rapporti. L'oggetto Tablix creato sarà ora visualizzato nell'area di progettazione.

  10. Salvare il file con estensione rdlc.

Aggiunta di un controllo ReportViewer al rapporto

  1. In Esplora soluzioni aprire il Windows Form in visualizzazione Progettazione. Per impostazione predefinita, il nome del form è Form1.cs.

  2. Dalla casella degli strumenti, nel gruppo Rapporti trascinare l'icona ReportViewer nel form.

  3. Aprire il pannello smart tag nel controllo ReportViewer facendo clic sull'icona dello smart tag nell'angolo in alto a destra.

  4. Nell'elenco Scegli rapporto selezionare il rapporto progettato. Per impostazione predefinita, il nome del rapporto è Report1.rdlc. Viene creato automaticamente un oggetto BindingSource, denominato ProductBindingSource, corrispondente a ogni origine dati di oggetti utilizzata nel rapporto.

  5. Nel pannello smart tag scegliere Ancora nel contenitore padre.

Implementazione di istanze dell'origine dei dati per l'oggetto BindingSource

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse su Form1.cs e scegliere Visualizza codice.

  2. In Form1.cs aggiungere il codice seguente come prima riga, prima del costruttore, nella definizione di classe parziale.

    // Instantiate the Merchant class.
    private Merchant m_merchant = new Merchant();
    
  3. Nel metodo Form1_Load() aggiungere il codice seguente come prima riga, prima della chiamata a RefreshReport:

    // Bind the Product collection to the DataSource.
    this.ProductBindingSource.DataSource = m_merchant.GetProducts();
    

Esecuzione dell'applicazione

  • Premere F5 per eseguire l'applicazione e visualizzare il rapporto.

Vedere anche

Riferimenti

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

Concetti

Utilizzo del riquadro degli smart tag delle attività di ReportViewer

Altre risorse

Esempi e procedure dettagliate