Procedura dettagliata: Data binding semplice nel progetto di componente aggiuntivo VSTO
È possibile associare dati a controlli host e Windows Form in progetti di componente aggiuntivo VSTO. Questa procedura dettagliata illustra come aggiungere controlli a un documento di Microsoft Office Word e associare i controlli ai dati in fase di esecuzione.
Si applica a: le informazioni contenute in questo argomento si applicano ai progetti di componente aggiuntivo VSTO per Word. Per altre informazioni, vedere Funzionalità disponibili per app Office lication e tipo di progetto.
In questa procedura dettagliata sono illustrati i task seguenti:
Aggiunta di un ContentControl a un documento in fase di esecuzione.
Creazione di un BindingSource che connette il controllo a un'istanza di un set di dati.
Abilitazione dell'utente per scorrere i record e visualizzarli nel controllo.
Nota
I nomi o i percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per altre informazioni, vedere Personalizzare l'IDE.
Prerequisiti
Per completare questa procedura dettagliata, è necessario disporre dei componenti seguenti:
Una versione di Visual Studio che include Microsoft Office Developer Tools. Per altre informazioni, vedere Configurare un computer per sviluppare soluzioni Office.
Word 2013 o Word 2010 .
Accesso a un'istanza in esecuzione di SQL Server 2005 o SQL Server 2005 Express con il database di esempio
AdventureWorksLT
collegato. È possibile scaricare ilAdventureWorksLT
database dal repository GitHub degli esempi di SQL Server. Per altre informazioni sul collegamento di un database, vedere gli argomenti seguenti:Per collegare un database tramite SQL Server Management Studio o SQL Server Management Studio Express, vedere Procedura: Collegare un database (SQL Server Management Studio).
Per collegare un database tramite la riga di comando, vedere Procedura: Collegare un file di database a SQL Server Express.
Crea un nuovo progetto
Il primo passaggio consiste nel creare un progetto di componente aggiuntivo VSTO per Word.
Per creare un nuovo progetto
Creare un progetto di componente aggiuntivo VSTO di Word con il nome Popolamento di documenti da un database, usando Visual Basic o C#.
Per altre informazioni, vedere Procedura: Creare progetti di Office in Visual Studio.
Visual Studio apre il file ThisAddIn.vb o ThisAddIn.cs e aggiunge i documenti di popolamento da un progetto di database a Esplora soluzioni.
Se il progetto è destinato a .NET Framework 4 o .NET Framework 4.5, aggiungere un riferimento all'assembly Microsoft.Office.Tools.Word.v4.0.Utilities.dll . Tale riferimento è necessario per aggiungere controlli Windows Form a livello di codice al documento più avanti in questa procedura dettagliata.
Creare un'origine dati
Usare la finestra Origini dati per aggiungere un DataSet tipizzato al progetto.
Per aggiungere un set di dati tipizzato al progetto
Se la finestra Origini dati non è visibile, visualizzarla nella barra dei menu scegliendo Visualizza>altre origini dati di Windows.>
Scegliere Aggiungi nuova origine dati per avviare la Configurazione guidata origine dati.
Selezionare Databasee quindi scegliere Avanti.
Se esiste già una connessione al database
AdventureWorksLT
, selezionarla e quindi scegliere Avanti.In caso contrario, scegliere Nuova connessionee usare la finestra di dialogo Aggiungi connessione per creare la nuova connessione. Per altre informazioni, vedere Aggiungere nuove connessioni.
Nella pagina Salva stringa di connessione nel file di configurazione dell'applicazione scegliere Avanti.
Nella pagina Seleziona oggetti di database espandere Tabelle e quindi selezionare la tabella Customer (SalesLT).
Fare clic su Fine.
Il file AdventureWorksLTDataSet.xsd viene aggiunto a Esplora soluzioni. Questo file definisce gli elementi seguenti:
Un set di dati tipizzato denominato
AdventureWorksLTDataSet
. Questo set di dati rappresenta i contenuti della tabella Customer (SalesLT) nel database AdventureWorksLT.TableAdapter denominato
CustomerTableAdapter
. Questo TableAdapter può essere usato per leggere e scrivere dati inAdventureWorksLTDataSet
. Per altre informazioni, vedere Panoramica di TableAdapter.Si useranno entrambi gli oggetti più avanti in questa procedura dettagliata.
Creare controlli e binding di controlli ai dati
L'interfaccia per la visualizzazione dei record di database in questa procedura dettagliata è di base e viene creata direttamente all'interno del documento. Un ContentControl visualizza un solo record di database alla volta e due controlli Button consentono di scorrere avanti e indietro i record. Il controllo contenuto usa un BindingSource per connettersi al database.
Per altre informazioni sull'associazione di controlli ai dati, vedere Associare dati ai controlli nelle soluzioni Office.
Per creare l'interfaccia nel documento
Nella classe
ThisAddIn
dichiarare i controlli seguenti per visualizzare e scorrere la tabellaCustomer
del databaseAdventureWorksLTDataSet
.private AdventureWorksLTDataSet adventureWorksDataSet; private AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter customerTableAdapter; private System.Windows.Forms.BindingSource customerBindingSource; private Microsoft.Office.Tools.Word.RichTextContentControl customerContentControl; private Microsoft.Office.Tools.Word.Controls.Button button1; private Microsoft.Office.Tools.Word.Controls.Button button2;
Nel metodo
ThisAddIn_Startup
aggiungere il codice seguente per inizializzare il set di dati, compilare il set di dati con le informazioni del databaseAdventureWorksLTDataSet
.Aggiungere il codice seguente al metodo
ThisAddIn_Startup
. Viene generato un elemento host che estende il documento. Per altre informazioni, vedere Estendere documenti di Word e cartelle di lavoro di Excel nei componenti aggiuntivi VSTO in fase di esecuzione.Definire diversi intervalli all'inizio del documento. Questi intervalli identificano dove inserire il testo e posizionare i controlli.
extendedDocument.Paragraphs[1].Range.InsertParagraphBefore(); extendedDocument.Paragraphs[1].Range.InsertParagraphBefore(); extendedDocument.Paragraphs[1].Range.Text = "The companies listed in the AdventureWorksLT database: \n"; extendedDocument.Paragraphs[2].Range.Text = " "; Word.Range range1 = extendedDocument.Paragraphs[2].Range.Characters.First; Word.Range range2 = extendedDocument.Paragraphs[2].Range.Characters.Last; Word.Range range3 = extendedDocument.Paragraphs[1].Range.Characters.Last;
Aggiungere i controlli dell'interfaccia agli intervalli definiti in precedenza.
this.button1 = extendedDocument.Controls.AddButton(range1, 60, 15, "1"); this.button1.Text = "Previous"; this.button2 = extendedDocument.Controls.AddButton(range2, 60, 15, "2"); this.button2.Text = "Next"; this.customerContentControl = extendedDocument.Controls.AddRichTextContentControl( range3, "richTextContentControl1");
Associare il controllo contenuto a
AdventureWorksLTDataSet
usando BindingSource. Per gli sviluppatori C# aggiungere due gestori eventi per i controlli Button .this.customerBindingSource.DataSource = this.adventureWorksDataSet.Customer; this.customerContentControl.DataBindings.Add("Text", this.customerBindingSource, "CompanyName", true, this.customerContentControl.DataBindings.DefaultDataSourceUpdateMode); this.button1.Click += new EventHandler(button1_Click); this.button2.Click += new EventHandler(button2_Click);
Aggiungere il codice seguente per spostarsi tra i record del database.
Testare il componente aggiuntivo
Quando si apre Word, il controllo contenuto visualizza i dati del set di dati AdventureWorksLTDataSet
. Scorrere i record del database selezionando i pulsanti Avanti e Indietro .
Per testare il componente aggiuntivo VSTO
Premere F5.
Viene creato un controllo contenuto denominato
customerContentControl
e popolato con i dati. Allo stesso tempo vengono aggiunti al progetto un oggetto del set di dati denominatoadventureWorksLTDataSet
e un oggetto BindingSource denominatocustomerBindingSource
. ContentControl è associato a BindingSource, che a sua volta è associato all'oggetto del set di dati.Selezionare i pulsanti Avanti e Indietro per scorrere i record del database.
Contenuto correlato
- Dati nelle soluzioni Office
- Associare i dati ai controlli nelle soluzioni Office
- Procedura: Popolare fogli di lavoro con dati da un database
- Procedura: Popolare documenti con dati da un database
- Procedura: Popolare documenti con dati dai servizi
- Procedura: Popolare documenti con dati da oggetti
- Procedura: Scorrere i record di database in un foglio di lavoro
- Procedura: Aggiornare un'origine dati con dati da un controllo host
- Procedura dettagliata: Data binding semplice in un progetto a livello di documento
- Procedura dettagliata: Data binding complesso in un progetto a livello di documento
- Panoramica dell'uso dei file di database locali nelle soluzioni Office
- Aggiungi nuova origine dati
- Associazione di controlli Windows Form ai dati in Visual Studio
- Procedura: Popolare documenti con dati da oggetti
- Procedura: Aggiornare un'origine dati con dati da un controllo host
- Panoramica dell'uso dei file di database locali nelle soluzioni Office
- Cenni preliminari sul componente BindingSource