Procédure pas à pas : liaison de données simple dans le projet de complément VSTO
Vous pouvez lier des données à des contrôles hôtes et des contrôles Windows Forms dans des projets de complément VSTO. Cette procédure pas à pas montre comment ajouter des contrôles à un document Microsoft Office Word et les lier à des données au moment de l’exécution.
S’applique à : Les informations contenues dans cette rubrique s’appliquent aux projets de complément VSTO pour Word. Pour plus d’informations, consultez Fonctionnalités disponibles par application Office lication et le type de projet.
Cette procédure pas à pas décrit les tâches suivantes :
Ajouter un ContentControl à un document au moment de l’exécution.
Création d’un BindingSource qui connecte le contrôle à une instance d’un dataset.
Permettre à l’utilisateur de parcourir les enregistrements et de les afficher dans le contrôle.
Remarque
Il est possible que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d’informations, consultez Personnaliser l’IDE.
Prérequis
Vous devez disposer des éléments suivants pour exécuter cette procédure pas à pas :
Une édition de Visual Studio qui inclut les outils de développement Microsoft Office. Pour plus d’informations, consultez Configurer un ordinateur pour développer des solutions Bureau.
Word 2013 ou Word 2010 .
Accès à une instance en cours d’exécution de SQL Server 2005 ou SQL Server 2005 Express à laquelle l’exemple de base de données
AdventureWorksLT
est attaché. Vous pouvez télécharger laAdventureWorksLT
base de données à partir du dépôt GitHub d’exemples SQL Server. Pour plus d’informations sur l’attachement d’une base de données, consultez les rubriques suivantes :Pour attacher une base de données à l’aide de SQL Server Management Studio ou DE SQL Server Management Studio Express, consultez Comment : attacher une base de données (SQL Server Management Studio).
Pour attacher une base de données à l’aide de la ligne de commande, consultez Comment : attacher un fichier de base de données à SQL Server Express.
Création d'un projet
La première étape consiste à créer un projet de complément VSTO Word.
Pour créer un projet
Créez un projet de complément VSTO Word nommé Remplissage de documents à partir d’une base de données, à l’aide de Visual Basic ou C#.
Pour plus d’informations, consultez Guide pratique pour créer des projets Bureau dans Visual Studio.
Visual Studio ouvre le fichier ThisAddIn.vb ou ThisAddIn.cs et ajoute le remplissage de documents à partir d’un projet de base de données à Explorateur de solutions.
Si votre projet cible .NET Framework 4 ou .NET Framework 4.5, ajoutez une référence à Microsoft.Bureau. Assembly Tools.Word.v4.0.Utilities.dll. Cette référence est obligatoire pour ajouter par programmation un contrôle Windows Forms au document, plus loin dans cette procédure pas à pas.
Création d'une source de données
Utilisez la fenêtre Sources de données pour ajouter un dataset typé à votre projet.
Pour ajouter un dataset typé au projet
Si la fenêtre Sources de données n’est pas visible, affichez-la dans la barre de menus, en choisissant Afficher>d’autres sources de données Windows>.
Choisissez Ajouter une nouvelle source de données pour démarrer l' Assistant Configuration de source de données.
Cliquez sur Base de données, puis sur Suivant.
Si vous disposez d’une connexion à la base de données
AdventureWorksLT
, choisissez cette connexion et cliquez sur Suivant.Sinon, cliquez sur Nouvelle connexionet utilisez la boîte de dialogue Ajouter une connexion pour créer la connexion. Pour plus d’informations, consultez Ajouter de nouvelles connexions.
Dans la page Enregistrer la chaîne de connexion dans le fichier de configuration de l’application , cliquez sur Suivant.
Dans la page Choisir vos objets de base de données , développez Tables et sélectionnez Customer (SalesLT).
Cliquez sur Terminer.
Le fichier AdventureWorksLTDataSet.xsd est ajouté à Explorateur de solutions. Ce fichier définit les éléments suivants :
Un dataset typé nommé
AdventureWorksLTDataSet
. Ce dataset représente le contenu de la table Customer (SalesLT) dans la base de données AdventureWorksLT.TableAdapter nommé
CustomerTableAdapter
. Ce TableAdapter peut être utilisé pour lire et écrire des données dans leAdventureWorksLTDataSet
. Pour plus d’informations, consultez la vue d’ensemble de TableAdapter.Vous utiliserez ces deux objets ultérieurement dans cette procédure pas à pas.
Créer des contrôles et lier des contrôles aux données
L’interface permettant d’afficher les enregistrements de base de données dans cette procédure pas à pas est de base et elle est créée directement à l’intérieur du document. Un ContentControl affiche un enregistrement de base de données à la fois et deux contrôles Button vous permettent de parcourir les enregistrements. Le contrôle de contenu utilise un BindingSource pour se connecter à la base de données.
Pour plus d’informations sur la liaison de contrôles à des données, consultez Lier des données à des contrôles dans Bureau solutions.
Pour créer l’interface dans le document
Dans la classe
ThisAddIn
, déclarez les contrôles suivants pour afficher et parcourir la tableCustomer
de la base de donnéesAdventureWorksLTDataSet
.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;
Dans la méthode
ThisAddIn_Startup
, ajoutez le code suivant pour initialiser le dataset et le remplir avec des informations de la base de donnéesAdventureWorksLTDataSet
.Ajoutez le code suivant à la méthode
ThisAddIn_Startup
. Cela génère un élément hôte qui étend le document. Pour plus d’informations, consultez Étendre les documents Word et les classeurs Excel dans les compléments VSTO au moment de l’exécution.Définissez plusieurs plages au début du document. Ces plages identifient où insérer du texte et placer des contrôles.
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;
Ajoutez les contrôles d’interface aux plages précédemment définies.
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");
Liez le contrôle de contenu à
AdventureWorksLTDataSet
à l’aide de BindingSource. Pour les développeurs C# : ajoutez deux gestionnaires d’événements pour les contrôles 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);
Ajoutez le code suivant pour parcourir les enregistrements de base de données.
Tester le complément
Lorsque vous ouvrez Word, le contrôle de contenu affiche des données du dataset AdventureWorksLTDataSet
. Parcourez les enregistrements de base de données en cliquant sur les boutons Suivant et Précédent .
Pour tester le complément VSTO
Appuyez sur F5.
Un contrôle de contenu nommé
customerContentControl
est créé et rempli avec des données. En même temps, un objet dataset nomméadventureWorksLTDataSet
et un BindingSource nommécustomerBindingSource
sont ajoutés au projet. Le ContentControl est lié au BindingSource, qui est lui-même lié à l’objet dataset.Cliquez sur les boutons Suivant et Précédent pour parcourir les enregistrements de base de données.
Contenu connexe
- Données dans les solutions Bureau
- Lier des données à des contrôles dans des solutions Bureau
- Guide pratique pour remplir des feuilles de calcul avec des données d’une base de données
- Guide pratique pour remplir des documents avec des données d’une base de données
- Guide pratique pour remplir des documents à partir de services
- Guide pratique pour remplir des documents avec des données à partir d’objets
- Guide pratique pour faire défiler les enregistrements de base de données dans une feuille de calcul
- Guide pratique pour mettre à jour une source de données avec des données à partir d’un contrôle hôte
- Procédure pas à pas : liaison de données simple dans un projet au niveau du document
- Procédure pas à pas : liaison de données complexe dans un projet au niveau du document
- Utiliser des fichiers de base de données locale dans Bureau vue d’ensemble des solutions
- Ajouter de nouvelles sources de données
- Lier des contrôles Windows Forms à des données dans Visual Studio
- Guide pratique pour remplir des documents avec des données à partir d’objets
- Guide pratique pour mettre à jour une source de données avec des données à partir d’un contrôle hôte
- Utiliser des fichiers de base de données locale dans Bureau vue d’ensemble des solutions
- Vue d’ensemble du composant BindingSource