Instruktaż: Proste powiązanie danych w projekcie na poziomie aplikacji
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.
Dotyczy: Informacje przedstawione w tym temacie dotyczą projektów na poziomie aplikacji dla programów Word 2013 i Word 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacji 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 danym komputerze mogą być używane inne nazwy lub lokalizacje pewnych elementów interfejsu użytkownika programu Visual Studio, które są używane w poniższych instrukcjach. Używana wersja programu Visual Studio oraz jej ustawienia określają te elementy. Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.
Wymagania wstępne
Następujące składniki są wymagane do przeprowadzenia tego instruktażu:
-
Wersja Visual Studio 2012 zawierająca narzędzia dla deweloperów pakietu Microsoft Office. Aby uzyskać więcej informacji, zobacz [Konfigurowanie komputera do opracowywania rozwiązań pakietu Office](bb398242\(v=vs.110\).md).
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 Jak: tworzenie projektów pakietu Office w programie 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 .NET Framework 4 lub .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 Jak: połączenia 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 Przegląd TableAdapter.
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ązania dla 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 dokumenty programu Word oraz skoroszyty programu Excel w dodatki poziomie aplikacji w czasie wykonywania.
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
Jak: wypełnianie arkuszach z danymi z bazy danych
Jak: wypełnianie dokumentów z danymi z bazy danych
Jak: wypełnianie dokumentów z danymi z usług
Jak: wypełnianie dokumentów z danymi z obiektów
Jak: przewijać rekordów bazy danych w arkuszu
Jak: aktualizacji źródła danych z danymi z kontroli hosta
Instruktaż: Proste powiązanie danych w projekcie poziomie dokumentu
Instruktaż: Złożone powiązania danych w projekcie poziomie dokumentu
Jak: wypełnianie dokumentów z danymi z obiektów
Jak: aktualizacji źródła danych z danymi z kontroli hosta
Informacje
Składnik BindingSource, omówienie
Koncepcje
Korzystanie z lokalnych plików bazy danych w Przegląd rozwiązań pakietu Office
Wiązanie formantów Windows Forms do danych w programie Visual Studio
Korzystanie z lokalnych plików bazy danych w Przegląd rozwiązań pakietu Office
Połączenie z danymi w aplikacji Windows Forms
Inne zasoby
Dane w rozwiązania dla pakietu Office
Wiązanie danych do formantów w rozwiązania dla pakietu Office