Wskazówki: proste powiązanie danych w aplikacjach na poziomie dokumentów
Dane można powiązać z formantami hosta i formantów Windows Forms na poziomie aplikacji.W tym instruktażu przedstawiono sposób dodawania formantów do dokumentu programu Microsoft Office Word i wiązać formanty z danych w czasie wykonywania.
Zastosowanie: Informacje przedstawione w tym temacie mają zastosowanie do projektów na poziomie aplikacji obsługiwanych w programach Word 2013 i Word 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacjach pakietu Office i typ projektu.
W przewodniku przedstawiono następujące zagadnienia:
Dodawanie ContentControl do dokumentu w czasie wykonywania.
Tworzenie BindingSource znaczenie kontroli dla instancji obiektu dataset.
Włączanie użytkownika do przeglądania rekordów i wyświetlania ich w formancie.
[!UWAGA]
Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.
Wymagania wstępne
Następujące składniki są wymagane do przeprowadzenia tego instruktażu:
Edycja programu Visual Studio 2013, która oferuje narzędzia deweloperskie pakietu Microsoft Office. Aby uzyskać więcej informacji, zobacz Konfigurowanie komputera do opracowywania rozwiązań pakietu Office.
Word 2013 lub Word 2010.
Dostęp do uruchomione wystąpienie programu SQL Server 2005 lub SQL Server 2005 Express, który ma AdventureWorksLT przykładowej bazy danych dołączone do niego.Można pobrać AdventureWorksLT bazy danych z witryny sieci Web w witrynie CodePlex.Aby uzyskać więcej informacji na temat dołączania bazy danych zobacz następujące tematy:
Aby dołączyć bazę danych przy użyciu programu SQL Server Management Studio lub SQL Server Management Studio Express, zobacz jak: dołączania bazy danych (program SQL Server Management Studio).
Aby dołączyć bazę danych przy użyciu wiersza polecenia, zobacz jak: Dołącz plik bazy danych do programu SQL Server Express.
Tworzenie nowego projektu
Pierwszym krokiem jest utworzenie projektu dodatek programu Word.
Aby utworzyć nowy projekt
Umożliwia utworzenie projektu dodatek programu Word z nazwy podczas wypełniania dokumentów z bazy danych przy użyciu języka Visual Basic lub C#.
Aby uzyskać więcej informacji, zobacz Porady: tworzenie projektów Office w Visual Studio.
Visual Studio otwiera plik ThisAddIn.vb lub ThisAddIn.cs i dodaje podczas wypełniania dokumentów z projektu bazy danych do Solution Explorer.
Jeśli elementy docelowe projektu Program .NET Framework 4 lub Program .NET Framework 4.5, Dodaj odwołanie do zestawu Microsoft.Office.Tools.Word.v4.0.Utilities.dll.To odwołanie jest wymagane Aby programowo dodać formanty Windows Forms do dokumentu w dalszej części tego instruktażu.
Tworzenie źródła danych
Użycie Źródła danych okno umożliwiające dodanie zestawu danych wpisywanych do projektu.
Aby dodać zestawu danych wpisywanych do projektu
Jeśli Źródła danych okno nie jest widoczne, wyświetl go, w menu bar, wybierając View, Other Windows, Źródła danych.
Wybierz polecenie Dodać nowe źródło danych zacząć Kreatora konfiguracji źródła danych.
Kliknij przycisk bazy danych, a następnie kliknij przycisk Dalej.
Jeśli masz istniejące połączenie do AdventureWorksLT bazy danych, wybierz to połączenie i kliknij przycisk Dalej.
W przeciwnym razie kliknij przycisk Nowego połączeniai używać Dodawanie połączenia okno dialogowe, aby utworzyć nowe połączenie.Aby uzyskać więcej informacji, zobacz Porady: łączenie z danymi w bazie danych.
W Zapisać pliku konfiguracyjnego aplikacji ciągu połączenia strona, kliknij przycisk Dalej.
W Wybierz obiekty bazy danych użytkownika strony, rozwiń węzeł tabele i wybierz klienta (SalesLT).
Kliknij Zakończ.
Plik AdventureWorksLTDataSet.xsd jest dodawany do Solution Explorer.Ten plik definiuje następujące elementy:
Wpisane zestawu danych o nazwie AdventureWorksLTDataSet.Tego zestawu danych reprezentuje zawartość klienta (SalesLT) AdventureWorksLT bazy danych.
A TableAdapter named CustomerTableAdapter.To TableAdapter służy do odczytu i zapisu danych AdventureWorksLTDataSet.Aby uzyskać więcej informacji, zobacz TableAdapter — Przegląd.
Oba te obiekty użyje dalej w tym instruktażu.
Tworzenia formantów i powiązaniem formantów z danych
Interfejs do wyświetlania rekordów bazy danych w tym instruktażu jest bardzo prosty i został utworzony bezpośrednio wewnątrz dokumentu.Jeden ContentControl wyświetla rekord w jednej bazie danych w czasie i dwóch Button formanty pozwalają i z powrotem przeglądania rekordów.Używa formantu zawartości BindingSource do połączenia z bazą danych.
Aby uzyskać więcej informacji o formantach wiązania z danymi, zobacz Wiązanie danych do formantów w rozwiązaniach pakietu Office.
Aby utworzyć interfejs w dokumencie
W ThisAddIn klasę, zadeklarować następujące formanty do wyświetlania i przewijać Customer spis AdventureWorksLTDataSet bazy danych.
Private adventureWorksDataSet As AdventureWorksLTDataSet Private customerTableAdapter As AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter Private customerBindingSource As System.Windows.Forms.BindingSource Private customerContentControl As Microsoft.Office.Tools.Word.RichTextContentControl Private WithEvents button1 As Microsoft.Office.Tools.Word.Controls.Button Private WithEvents button2 As Microsoft.Office.Tools.Word.Controls.Button
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;
W ThisAddIn_Startup metody, Dodaj następujący kod do inicjowania zestawu danych, wypełnić zestaw danych z informacjami z AdventureWorksLTDataSet bazy danych.
Me.adventureWorksDataSet = New AdventureWorksLTDataSet() Me.customerTableAdapter = New AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter() Me.customerTableAdapter.Fill(Me.adventureWorksDataSet.Customer) Me.customerBindingSource = New System.Windows.Forms.BindingSource()
this.adventureWorksDataSet = new AdventureWorksLTDataSet(); this.customerTableAdapter = new AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter(); this.customerTableAdapter.Fill(this.adventureWorksDataSet.Customer); this.customerBindingSource = new System.Windows.Forms.BindingSource();
Dodaj następujący kod do ThisAddIn_Startup metoda.Spowoduje to wygenerowanie element hosta, który rozciąga się dokument.Aby uzyskać więcej informacji, zobacz Rozszerzanie dokumentów programu Word i skoroszytów w programie Excel w czasie wykonywania w dodatkach na poziomie aplikacji.
Dim currentDocument As Word.Document = Me.Application.ActiveDocument Dim extendedDocument As Document = Globals.Factory.GetVstoObject(currentDocument)
Word.Document currentDocument = this.Application.ActiveDocument; Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument);
Zdefiniowanie kilku zakresów na początku dokumentu.Zakresy te identyfikują gdzie wstawić tekst i umieść formanty.
extendedDocument.Paragraphs(1).Range.InsertParagraphBefore() extendedDocument.Paragraphs(1).Range.InsertParagraphBefore() extendedDocument.Paragraphs(1).Range.Text = "The companies listed in the AdventureWorksLT database: " extendedDocument.Paragraphs(2).Range.Text = " " Dim range1 As Word.Range = extendedDocument.Paragraphs(2).Range.Characters.First Dim range2 As Word.Range = extendedDocument.Paragraphs(2).Range.Characters.Last Dim range3 As Word.Range = extendedDocument.Paragraphs(1).Range.Characters.Last
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;
Dodaj formanty, interfejs do wcześniej zdefiniowanych zakresów.
Me.button1 = extendedDocument.Controls.AddButton(range1, 60, 15, "1") Me.button1.Text = "Previous" Me.button2 = extendedDocument.Controls.AddButton(range2, 60, 15, "2") Me.button2.Text = "Next" Me.customerContentControl = extendedDocument.Controls.AddRichTextContentControl(range3, _ "richTextContentControl1")
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");
Związany formant zawartości AdventureWorksLTDataSet za pomocą BindingSource.Dla programistów języka C# Dodaj dwa programy obsługi zdarzeń dla Button kontroli.
Me.customerBindingSource.DataSource = Me.adventureWorksDataSet.Customer Me.customerContentControl.DataBindings.Add("Text", Me.customerBindingSource, _ "CompanyName", True, Me.customerContentControl.DataBindings.DefaultDataSourceUpdateMode)
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);
Dodaj następujący kod do nawigacji między rekordami bazy danych.
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _ Handles button1.Click Me.customerBindingSource.MovePrevious() End Sub Private Sub button2_Click(ByVal sender As Object, ByVal e As EventArgs) _ Handles button2.Click Me.customerBindingSource.MoveNext() End Sub
void button1_Click(object sender, EventArgs e) { this.customerBindingSource.MovePrevious(); } void button2_Click(object sender, EventArgs e) { this.customerBindingSource.MoveNext(); }
Testowanie dodatek programu
Po otwarciu programu Word, wyświetlane są dane z formantu zawartości AdventureWorksLTDataSet zestawu danych.Przewijać rekordów bazy danych, klikając Dalej i Poprzedni przyciski.
Aby przetestować dodatek
Press F5.
Formant zawartości o nazwie customerContentControl jest tworzony i wypełniany danymi.W tym samym czasie, obiekt dataset, o nazwie adventureWorksLTDataSet i BindingSource o nazwie customerBindingSource są dodawane do projektu.ContentControl Jest powiązany z BindingSource, które z kolei wiąże się obiektu dataset.
Kliknij przycisk Dalej i Poprzedni przycisków przeglądania rekordów bazy danych.
Zobacz też
Zadania
Porady: zapełnianie arkuszy danymi z bazy danych
Porady: zapełnianie dokumentów danymi z bazy danych
Porady: zapełnianie dokumentów danymi z usług
Porady: zapełnianie dokumentów danymi z obiektów
Porady: przewijanie rekordów bazy danych w arkuszu
Porady: aktualizowanie źródła danych danymi z formanty hosta
Wskazówki: proste powiązanie danych w projektach na poziomie dokumentów
Wskazówki: złożone powiązanie danych w projektach na poziomie dokumentów
Porady: zapełnianie dokumentów danymi z obiektów
Porady: aktualizowanie źródła danych danymi z formanty hosta
Informacje
BindingSource — Informacje o składniku
Koncepcje
Korzystanie z plików lokalnej bazy danych w rozwiązaniach pakietu Office ― Omówienie
Powiązywanie formantów formularzy systemu Windows z danymi w Visual Studio
Korzystanie z plików lokalnej bazy danych w rozwiązaniach pakietu Office ― Omówienie
Łączenie z danymi w aplikacjach formularzy systemu Windows