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
- Creare un progetto Cartella di lavoro di Excel con il nome My Master-Detail utilizzando Visual Basic o C#. Verificare che l'opzione Crea un nuovo documento sia selezionata. Per ulteriori informazioni, vedere Procedura: creare progetti di Office in Visual Studio.
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
Se la finestra Origini dati non è visibile, scegliere Mostra origini dati dal menu Dati.
Scegliere Aggiungi nuova origine dati per avviare la Configurazione guidata origine dati.
Selezionare Database e scegliere Avanti.
Selezionare una connessione dati al database di SQL Server di esempio Northwind oppure aggiungere una nuova connessione tramite il pulsante Nuova connessione.
Dopo aver selezionato o creato una connessione, scegliere Avanti.
Deselezionare l'opzione per salvare la connessione, se selezionata, quindi scegliere Avanti.
Espandere il nodo Tabelle nella finestra Oggetti database.
Selezionare la tabella Orders e la tabella Order Details.
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
Verificare che la cartella di lavoro My Master-Detail.xls sia aperta nella finestra di progettazione di Visual Studio e che sia visualizzato Sheet1.
Aprire la finestra Origini dati ed espandere il nodo Orders.
Selezionare la colonna OrderID, quindi fare clic sulla freccia a discesa visualizzata.
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.
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.
Selezionare ListObject nell'elenco a discesa, quindi trascinare la tabella Order Details nella cella A6.
Un controllo ListObject denominato Order_DetailsListObject viene creato nella cella A6 e viene associato all'oggetto BindingSource.
Per aggiungere due pulsanti
Dalla scheda Controlli comuni della Casella degli strumenti, aggiungere un controllo Button alla cella A3 del foglio di lavoro.
Questo pulsante verrà denominato Button1.
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
Selezionare NorthwindDataSet nella barra dei componenti.
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.
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
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.
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 = ">";
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
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(); }
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
Premere F5.
Verificare che nell'intervallo denominato e nell'oggetto elenco siano inseriti dati derivanti dall'origine dati.
Scorrere alcuni record facendo clic sui pulsanti.
Salvare la cartella di lavoro, quindi chiudere la cartella di lavoro e Visual Studio.
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.
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#).
Scorrere alcuni record per verificare che il foglio di lavoro funzioni normalmente in modalità offline.
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:
Distribuzione della soluzione. Per ulteriori informazioni, vedere Deploying Office Solutions.
Recupero dei dati dalla cache per un altro progetto. Per ulteriori informazioni, vedere Procedura: recuperare i dati memorizzati nella cache di una cartella di lavoro di un server.
Vedere anche
Concetti
Memorizzazione di dati nella cache
Cenni preliminari sugli elementi e sui controlli host