Udostępnij za pośrednictwem


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:

Tworzenie nowego projektu

Pierwszym krokiem jest utworzenie projektu dodatek programu Word.

Aby utworzyć nowy projekt

  1. 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.

  2. 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

  1. 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.

  2. Wybierz polecenie Dodać nowe źródło danych zacząć Kreatora konfiguracji źródła danych.

  3. Kliknij przycisk bazy danych, a następnie kliknij przycisk Dalej.

  4. 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.

  5. W Zapisać pliku konfiguracyjnego aplikacji ciągu połączenia strona, kliknij przycisk Dalej.

  6. W Wybierz obiekty bazy danych użytkownika strony, rozwiń węzeł tabele i wybierz klienta (SalesLT).

  7. 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

  1. 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;
    
  2. 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();
    
  3. 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);
    
  4. 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;
    
  5. 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");
    
  6. 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);
    
  7. 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

  1. 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.

  2. 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

Źródła danych — Przegląd

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

Inne zasoby

Dane w rozwiązaniach pakietu Office

Wiązanie danych do formantów w rozwiązaniach pakietu Office