Exemplarische Vorgehensweise: Einfache Datenbindung in VSTO-Add-In-Projekt
Sie können in VSTO-Add-In-Projekten Daten an Hoststeuerelemente und Windows Forms-Steuerelemente binden. In dieser exemplarischen Vorgehensweise wird veranschaulicht, wie einem Microsoft Office Word-Dokument zur Laufzeit Steuerelemente hinzugefügt und diese Steuerelemente an Daten gebunden werden.
Gilt für: Die Informationen in diesem Thema gelten für VSTO-Add-In-Projekte für Word. Weitere Informationen finden Sie unter features available by Office-App lication and project type.
In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:
Hinzufügen eines ContentControl -Steuerelements zu einem Dokument zur Laufzeit
Erstellen eines BindingSource -Objekts, das das Steuerelement mit einer Instanz eines Datasets verbindet
Ermöglichen, dass Benutzer durch die Datensätze scrollen und diese im Steuerelement anzeigen können
Hinweis
Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in den folgenden Anweisungen aufgeführten. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Personalisieren der IDE.
Voraussetzungen
Zum Abschließen dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:
Eine Edition von Visual Studio, die die Microsoft Office-Entwicklungstools umfasst. Weitere Informationen finden Sie unter Konfigurieren eines Computers zum Entwickeln von Office-Lösungen.
Word 2013 oder Word 2010 .
Zugriff auf eine aktive Instanz von SQL Server 2005 oder SQL Server 2005 Express, an die die
AdventureWorksLT
-Beispieldatenbank angefügt ist. Sie können dieAdventureWorksLT
Datenbank aus dem GitHub-Repository für SQL Server-Beispiele herunterladen. Weitere Informationen zum Anhängen von Datenbanken finden Sie in den folgenden Themen:Informationen zum Anfügen einer Datenbank mithilfe von SQL Server Management Studio oder SQL Server Management Studio Express finden Sie unter How to: Attach a database (SQL Server Management Studio).
Informationen zum Anfügen einer Datenbank mithilfe der Befehlszeile finden Sie unter How to: Attach a database file to SQL Server Express.
Erstellen eines neuen Projekts
Der erste Schritt besteht im Erstellen eines VSTO-Add-In-Projekts für Word.
So erstellen Sie ein neues Projekt
Erstellen Sie mit Visual Basic oder C# ein Word-VSTO-Add-In-Projekt, das den Namen Füllen von Dokumenten aus einer Datenbankhat.
Weitere Informationen finden Sie unter How to: Create Office projects in Visual Studio.
Visual Studio öffnet die Datei ThisAddIn.vb oder ThisAddIn.cs und fügt das Auffüllen von Dokumenten aus einem Datenbankprojekt zu Projektmappen-Explorer hinzu.
Wenn Ihr Projekt auf .NET Framework 4 oder .NET Framework 4.5 ausgerichtet ist, fügen Sie einen Verweis auf die Assembly "Microsoft.Office.Tools.Word.v4.0.Utilities.dll " hinzu. Dieser Verweis ist erforderlich, um später in dieser exemplarischen Vorgehensweise dem Dokument programmgesteuert Windows Forms-Steuerelemente hinzuzufügen.
Erstellen einer Datenquelle
Verwenden das Fenster Datenquellen , um dem Projekt ein typisiertes Dataset hinzuzufügen.
So fügen Sie dem Projekt ein typisiertes Dataset hinzu
Wenn das Fenster "Datenquellen" nicht sichtbar ist, zeigen Sie es an, indem Sie auf der Menüleiste "Andere Windows-Datenquellen> anzeigen">auswählen.
Wählen Sie Neue Datenquelle hinzufügen , um den Assistenten zum Konfigurieren von Datenquellenzu starten.
Klicken Sie auf Datenbank, und klicken Sie dann auf Weiter.
Wenn eine Verbindung mit der
AdventureWorksLT
-Datenbank vorhanden ist, wählen Sie diese Verbindung aus, und klicken Sie auf Weiter.Klicken Sie andernfalls auf Neue Verbindung, und erstellen Sie die neue Verbindung im Dialogfeld Verbindung hinzufügen . Weitere Informationen finden Sie unter Hinzufügen neuer Verbindungen.
Klicken Sie auf der Seite Verbindungszeichenfolge in der Anwendungskonfigurationsdatei speichern auf Weiter.
Erweitern Sie auf der Seite Datenbankobjekte auswählen den Knoten Tabellen , und wählen Sie Customer (SalesLT)aus.
Klicken Sie auf Fertig stellen.
Die Datei AdventureWorksLTDataSet.xsd wird Projektmappen-Explorer hinzugefügt. In dieser Datei sind die folgenden Elemente definiert:
Ein typisiertes Dataset namens
AdventureWorksLTDataSet
. Dieses Dataset entspricht dem Inhalt der Customer (SalesLT) -Tabelle in der AdventureWorksLT-Datenbank.Ein TableAdapter mit dem Namen
CustomerTableAdapter
. Dieser TableAdapter kann zum Lesen und Schreiben von Daten in derAdventureWorksLTDataSet
. Weitere Informationen finden Sie in der TableAdapter-Übersicht.Zu einem späteren Zeitpunkt in dieser exemplarischen Vorgehensweise verwenden Sie beide Objekte.
Erstellen von Steuerelementen und Binden von Steuerelementen an Daten
Die Schnittstelle zum Anzeigen von Datenbankdatensätzen in dieser exemplarischen Vorgehensweise ist einfach und wird direkt im Dokument erstellt. In einem ContentControl -Steuerelement wird jeweils ein einzelner Datensatz angezeigt, und mit zwei Button -Steuerelementen können Sie nach oben und unten durch die Datensätze scrollen. Im Inhaltssteuerelement wird ein BindingSource -Objekt verwendet, um eine Verbindung mit der Datenbank herzustellen.
Weitere Informationen zum Binden von Steuerelementen an Daten finden Sie unter Binden von Daten an Steuerelemente in Office-Lösungen.
So erstellen Sie die Benutzeroberfläche im Dokument
Deklarieren Sie in der
ThisAddIn
-Klasse die folgenden Steuerelemente, um dieCustomer
-Tabelle derAdventureWorksLTDataSet
-Datenbank anzuzeigen und sie durchlaufen zu können.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;
Fügen Sie der
ThisAddIn_Startup
-Methode den folgenden Code hinzu, um das Dataset zu initialisieren und es mit Daten aus derAdventureWorksLTDataSet
-Datenbank zu füllen.Fügen Sie der
ThisAddIn_Startup
-Methode folgenden Code hinzu. Dadurch wird ein Hostelement generiert, das das Dokument erweitert. Weitere Informationen finden Sie unter Erweitern von Word-Dokumenten und Excel-Arbeitsmappen in VSTO-Add-Ins zur Laufzeit.Definieren Sie am Anfang des Dokuments mehrere Bereiche. Diese Bereiche geben an, wo Text eingefügt und die Steuerelemente positioniert werden sollen.
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;
Fügen Sie den zuvor definierten Bereichen die Steuerelemente der Benutzeroberfläche hinzu.
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");
Binden Sie das Inhaltssteuerelement an
AdventureWorksLTDataSet
, indem Sie das BindingSource-Objekt verwenden. C#-Entwickler müssen zwei Ereignishandler für die Button -Steuerelemente hinzufügen.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);
Fügen Sie den folgenden Code hinzu, damit durch die Datenbankdatensätze navigiert werden kann.
Testen des Add-Ins
Wenn Sie Word öffnen, werden im Inhaltssteuerelement Daten aus dem AdventureWorksLTDataSet
-Dataset angezeigt. Durchlaufen Sie die Datenbankdatensätze, indem Sie auf die Schaltflächen Next und Previous klicken.
So testen Sie das VSTO-Add-In
Drücken Sie F5.
Das Inhaltssteuerelement
customerContentControl
wird erstellt und mit Daten gefüllt. Gleichzeitig werden dem Projekt ein Datasetobjekt namensadventureWorksLTDataSet
und ein BindingSource -Objekt namenscustomerBindingSource
hinzugefügt. Das ContentControl -Steuerelement ist an das BindingSource-Objekt gebunden, das wiederum an das Datasetobjekt gebunden ist.Klicken Sie auf die Schaltflächen Next und Previous , um die Datenbankdatensätze zu durchlaufen.
Zugehöriger Inhalt
- Daten in Office-Lösungen
- Binden von Daten an Steuerelemente in Office-Lösungen
- Vorgehensweise: Auffüllen von Arbeitsblättern mit Daten aus einer Datenbank
- Vorgehensweise: Auffüllen von Dokumenten mit Daten aus einer Datenbank
- Vorgehensweise: Auffüllen von Dokumenten mit Daten aus Diensten
- Vorgehensweise: Auffüllen von Dokumenten mit Daten aus Objekten
- Vorgehensweise: Scrollen durch Datenbankdatensätze in einem Arbeitsblatt
- Vorgehensweise: Aktualisieren einer Datenquelle mit Daten aus einem Hoststeuerelement
- Exemplarische Vorgehensweise: Einfache Datenbindung in einem Projekt auf Dokumentebene
- Exemplarische Vorgehensweise: Komplexe Datenbindung in einem Projekt auf Dokumentebene
- Übersicht über lokale Datenbankdateien in Office-Lösungen
- Hinzufügen neuer Datenquellen
- Binden von Windows Forms-Steuerelementen an Daten in Visual Studio
- Vorgehensweise: Auffüllen von Dokumenten mit Daten aus Objekten
- Vorgehensweise: Aktualisieren einer Datenquelle mit Daten aus einem Hoststeuerelement
- Übersicht über lokale Datenbankdateien in Office-Lösungen
- BindingSource component overview (Übersicht über die BindingSource-Komponente)