Condividi tramite


Procedura dettagliata: creazione di una relazione master-dettagli mediante un DataSet memorizzato nella cache

In questa procedura dettagliata viene illustrata la creazione di una relazione master-dettagli su un foglio di lavoro e la memorizzazione nella cache dei dati per utilizzare la soluzione offline.

Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di documento per Excel 2007 ed Excel 2010. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.

In particolare, vengono illustrate le seguenti operazioni:

  • Aggiunta di controlli a un foglio di lavoro.

  • Impostazione di un DataSet da memorizzare nella cache in un foglio di lavoro.

  • Aggiunta di codice per abilitare lo scorrimento dei record.

  • Test del progetto.

Nota

Il computer potrebbe mostrare nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. L'edizione di Visual Studio in uso e le impostazioni utilizzate determinano questi elementi. Per ulteriori informazioni, vedere Gestione delle impostazioni.

Prerequisiti

Per completare la procedura dettagliata, è necessario disporre dei componenti seguenti:

-

Una versione di Visual Studio 2010 che include gli strumenti per sviluppatori di Microsoft Office. Per ulteriori informazioni, vedere [Configurazione di un computer per sviluppare soluzioni Office](bb398242\(v=vs.100\).md).
  • Microsoft Office Excel 2007 o Excel 2010.

  • Accesso al database di esempio Northwind di SQL Server. Il database può essere sul computer di sviluppo o su un computer server.

  • Autorizzazioni per leggere il database SQL Server o scrivere in esso.

Creazione di un nuovo progetto

In questo passaggio verrà creato un progetto Cartella di lavoro di Excel.

Per creare un nuovo progetto

La nuova cartella di lavoro di Excel viene aperta nella finestra di progettazione di Visual Studio e il progetto My Master-Detail viene aggiunto in Esplora soluzioni.

Creazione dell'origine dati

Utilizzare la finestra Origini dati per aggiungere un DataSet tipizzato al progetto.

Per creare l'origine dati

  1. Se la finestra Origini dati non è visibile, scegliere Mostra origini dati dal menu Dati.

  2. Scegliere Aggiungi nuova origine dati per avviare la Configurazione guidata origine dati.

  3. Selezionare Database e scegliere Avanti.

  4. Selezionare una connessione dati al database di SQL Server di esempio Northwind oppure aggiungere una nuova connessione tramite il pulsante Nuova connessione.

  5. Dopo aver selezionato o creato una connessione, scegliere Avanti.

  6. Deselezionare l'opzione per salvare la connessione, se selezionata, quindi scegliere Avanti.

  7. Espandere il nodo Tabelle nella finestra Oggetti database.

  8. Selezionare la tabella Orders e la tabella Order Details.

  9. Scegliere Fine.

La procedura guidata aggiungerà le due tabelle alla finestra Origini dati. Inoltre, aggiungerà un DataSet tipizzato al progetto visualizzato in Esplora soluzioni.

Aggiunta di controlli al foglio di lavoro

In questo passaggio, verranno aggiunti al primo foglio di lavoro un intervallo denominato, un oggetto elenco e due pulsanti. Aggiungere in primo luogo l'intervallo denominato e l'oggetto elenco dalla finestra Origini dati, in modo che vengano associati automaticamente all'origine dati. Aggiungere quindi i pulsanti dalla Casella degli strumenti.

Per aggiungere un intervallo denominato e un oggetto elenco

  1. Verificare che la cartella di lavoro My Master-Detail.xls sia aperta nella finestra di progettazione di Visual Studio e che sia visualizzato Sheet1.

  2. Aprire la finestra Origini dati ed espandere il nodo Orders.

  3. Selezionare la colonna OrderID, quindi fare clic sulla freccia a discesa visualizzata.

  4. Selezionare NamedRange nell'elenco a discesa, quindi trascinare la colonna OrderID nella cella A2.

    Un controllo NamedRange denominato OrderIDNamedRange viene creato nella cella A2. Contemporaneamente, al progetto sono aggiunti un oggetto BindingSource denominato OrdersBindingSource, un adattatore per la tabella e un'istanza dell'oggetto DataSet. Il controllo è associato a BindingSource, che, a sua volta, è associato all'istanza dell'oggetto DataSet.

  5. Scorrere l'elenco verso il basso, oltre le colonne al di sotto della tabella Orders. Alla fine dell'elenco è presente la tabella Order Details; la tabella è posizionata in questo punto in quanto elemento figlio della tabella Orders. Selezionare questa tabella Order Details, non quella situata allo stesso livello della tabella Orders e fare clic sulla freccia a discesa visualizzata.

  6. Selezionare ListObject nell'elenco a discesa, quindi trascinare la tabella Order Details nella cella A6.

  7. Un controllo ListObject denominato Order_DetailsListObject viene creato nella cella A6 e viene associato all'oggetto BindingSource.

Per aggiungere due pulsanti

  1. Dalla scheda Controlli comuni della Casella degli strumenti, aggiungere un controllo Button alla cella A3 del foglio di lavoro.

    Questo pulsante verrà denominato Button1.

  2. Aggiungere un altro controllo Button alla cella B3 del foglio di lavoro.

    Questo pulsante verrà denominato Button2.

Contrassegnare quindi il DataSet per la memorizzazione nella cache all'interno del documento.

Memorizzazione del DataSet nella cache

Contrassegnare il DataSet per la memorizzazione nella cache rendendolo pubblico e impostando la proprietà CacheInDocument.

Per memorizzare il DataSet nella cache

  1. Selezionare NorthwindDataSet nella barra dei componenti.

  2. Nella finestra Proprietà, modificare la proprietà Modifiers impostandola su Public.

    I DataSet devono essere di tipo pubblico prima che sia abilitata la memorizzazione nella cache.

  3. Modificare la proprietà CacheInDocument impostandola su True.

Il passaggio successivo è costituito dall'aggiunta di testo ai pulsanti, e, in C#, dall'aggiunta di codice per agganciare i gestori eventi.

Inizializzazione dei controlli

Impostare il testo del pulsante e aggiungere gestori eventi durante l'evento Startup.

Per inizializzare i dati e i controlli

  1. In Esplora soluzioni, fare clic con il pulsante destro del mouse su Sheet1.vb o su Sheet1.cs, quindi scegliere Visualizza codice dal menu di scelta rapida.

  2. Aggiungere il codice riportato di seguito al metodo Sheet1_Startup per impostare il testo per i pulsanti.

    Me.Button1.Text = "<"
    Me.Button2.Text = ">"
    
    this.button1.Text = "<";
    this.button2.Text = ">";
    
  3. Solo per C#, aggiungere gestori eventi per gli eventi click al metodo Sheet1_Startup.

    this.button1.Click += new EventHandler(button1_Click);
    this.button2.Click += new EventHandler(button2_Click);
    

Aggiunta di codice per abilitare lo scorrimento dei record

Aggiungere codice al gestore eventi Click di ciascun pulsante per passare da un record a un altro.

Per scorrere i record

  1. Aggiungere un gestore eventi per l'evento Click di Button1 e aggiungere il codice riportato di seguito per spostarsi all'indietro da un record a un altro:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button1.Click
    
        Me.OrdersBindingSource.MovePrevious()
    End Sub
    
    private void button1_Click(object sender, EventArgs e)
    {
        this.ordersBindingSource.MovePrevious();
    }
    
  2. Aggiungere un gestore eventi per l'evento Click di Button2 e aggiungere il codice riportato di seguito per spostarsi in avanti da un record a un altro:

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button2.Click
    
        Me.OrdersBindingSource.MoveNext()
    End Sub
    
    private void button2_Click(object sender, EventArgs e)
    {
        this.ordersBindingSource.MoveNext();
    }
    

Verifica dell'applicazione

A questo punto è possibile eseguire il test della cartella di lavoro per accertarsi che i dati siano visualizzati nel modo previsto e che sia possibile utilizzare la soluzione offline.

Per eseguire il test della memorizzazione nella cache dei dati

  1. Premere F5.

  2. Verificare che nell'intervallo denominato e nell'oggetto elenco siano inseriti dati derivanti dall'origine dati.

  3. Scorrere alcuni record facendo clic sui pulsanti.

  4. Salvare la cartella di lavoro, quindi chiudere la cartella di lavoro e Visual Studio.

  5. Disabilitare la connessione al database. Scollegare il cavo di rete dal computer se il database è situato su un server oppure arrestare il servizio Microsoft SQL Server se il database si trova sul computer di sviluppo.

  6. Aprire Excel, quindi aprire My Master-Detail.xls dalla directory \bin (\My Master-Detail\bin in Visual Basic o \My Master-Detail\bin\debug in C#).

  7. Scorrere alcuni record per verificare che il foglio di lavoro funzioni normalmente in modalità offline.

  8. Riconnettersi al database. Ricollegare il computer alla rete se il database è situato su un server oppure avviare il servizio Microsoft SQL Server se il database si trova sul computer di sviluppo.

Passaggi successivi

In questa procedura dettagliata sono illustrate le informazioni di base sulla creazione di una relazione master-dettagli su un foglio di lavoro e la memorizzazione nella cache di un DataSet. Di seguito sono elencate alcune procedure che potrebbero essere necessarie per estendere il progetto:

Vedere anche

Concetti

Memorizzazione di dati nella cache

Cenni preliminari sugli elementi e sui controlli host

Altre risorse

Associazione di dati ai controlli nelle soluzioni Office

Dati nelle soluzioni Office