Przewodnik: proste powiązanie danych w projekcie dodatku VSTO
Dane można powiązać z kontrolkami hosta i kontrolkami windows Forms w projektach dodatków VSTO. W tym przewodniku pokazano, jak dodać kontrolki do dokumentu programu Microsoft Office Word i powiązać kontrolki z danymi w czasie wykonywania.
Dotyczy: informacje w tym temacie dotyczą projektów dodatków VSTO dla programu Word. Aby uzyskać więcej informacji, zobacz Funkcje dostępne przez aplikacja pakietu Office lication i typ projektu.
W instruktażu przedstawiono następujące zagadnienia:
Dodawanie elementu ContentControl do dokumentu w czasie wykonywania.
Utworzenie kontrolki BindingSource łączącej kontrolkę z wystąpieniem zestawu danych.
Umożliwia użytkownikowi przewijanie rekordów i wyświetlanie ich w kontrolce.
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 Personalizowanie środowiska IDE.
Wymagania wstępne
Następujące składniki są wymagane do przeprowadzenia tego instruktażu:
Edycja programu Visual Studio, która oferuje narzędzia deweloperskie pakietu Microsoft Office. Aby uzyskać więcej informacji, zobacz Konfigurowanie komputera do tworzenia rozwiązań pakietu Office.
Word 2013 lub Word 2010 .
Dostęp do uruchomionego wystąpienia programu SQL Server 2005 lub SQL Server 2005 Express z dołączoną przykładową bazą
AdventureWorksLT
danych. Bazę danych można pobraćAdventureWorksLT
z repozytorium GitHub przykłady programu SQL Server. 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 PROGRAMU SQL Server Management Studio Express, zobacz Instrukcje: dołączanie bazy danych (SQL Server Management Studio).
Aby dołączyć bazę danych przy użyciu wiersza polecenia, zobacz Instrukcje: dołączanie pliku bazy danych do programu SQL Server Express.
Tworzenie nowego projektu
Pierwszym krokiem jest utworzenie projektu dodatku VSTO programu Word.
Aby utworzyć nowy projekt
Utwórz projekt dodatku programu Word VSTO o nazwie Wypełnianie dokumentów z bazy danych przy użyciu języka Visual Basic lub C#.
Aby uzyskać więcej informacji, zobacz How to: Create Office projects in Visual Studio (Jak tworzyć projekty pakietu Office w programie Visual Studio).
Program Visual Studio otwiera plik ThisAddIn.vb lub ThisAddIn.cs i dodaje dokumenty wypełniania z projektu Bazy danych do Eksplorator rozwiązań.
Jeśli projekt jest przeznaczony dla programu .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 do programowego dodawania kontrolek Windows Forms do dokumentu w dalszej części tego przewodnika.
Utwórz źródło danych
Użyj okna Źródła danych, aby dodać typowany zestaw danych do projektu.
Aby dodać typowany zestaw danych do projektu
Jeśli okno Źródła danych nie jest widoczne, wyświetl je według na pasku menu, wybierając pozycję Wyświetl>inne źródła danych systemu Windows.>
Wybierz pozycję Dodaj nowe źródło danych, aby uruchomić Kreatora konfiguracji źródła danych.
Kliknij pozycję Baza danych, a następnie kliknij przycisk Dalej.
Jeśli masz istniejące połączenie z bazą
AdventureWorksLT
danych, wybierz to połączenie i kliknij przycisk Dalej.W przeciwnym razie kliknij przycisk Nowa Połączenie ion i użyj okna dialogowego Dodawanie Połączenie ion, aby utworzyć nowe połączenie. Aby uzyskać więcej informacji, zobacz Dodawanie nowych połączeń.
Na stronie Zapisz ciąg Połączenie ion na stronie Plik konfiguracji aplikacji kliknij przycisk Dalej.
Na stronie Wybieranie obiektów bazy danych rozwiń węzeł Tabele i wybierz pozycję Klient (SalesLT).
Kliknij przycisk Zakończ.
Plik AdventureWorksLTDataSet.xsd jest dodawany do Eksplorator rozwiązań. Ten plik definiuje następujące elementy:
Typowany zestaw danych o nazwie
AdventureWorksLTDataSet
. Ten zestaw danych reprezentuje zawartość tabeli Customer (SalesLT) w bazie danych AdventureWorksLT.A TableAdapter o nazwie
CustomerTableAdapter
. Tego elementu TableAdapter można używać do odczytywania i zapisywania danych w obiekcieAdventureWorksLTDataSet
. Aby uzyskać więcej informacji, zobacz Omówienie funkcji TableAdapter.Oba te obiekty będą używane w dalszej części tego przewodnika.
Tworzenie kontrolek i wiązanie kontrolek z danymi
Interfejs do wyświetlania rekordów bazy danych w tym przewodniku jest podstawowy i jest tworzony bezpośrednio w dokumencie. Jeden ContentControl wyświetla jeden rekord bazy danych jednocześnie, a dwie Button kontrolki umożliwiają przewijanie rekordów w przód i z powrotem. Kontrolka zawartości używa elementu , BindingSource aby nawiązać połączenie z bazą danych.
Aby uzyskać więcej informacji na temat powiązań kontrolek z danymi, zobacz Wiązanie danych z kontrolkami w rozwiązaniach pakietu Office.
Aby utworzyć interfejs w dokumencie
W klasie zadeklaruj
ThisAddIn
następujące kontrolki, aby wyświetlić i przewinąć tabelęCustomer
AdventureWorksLTDataSet
bazy danych.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 metodzie
ThisAddIn_Startup
dodaj następujący kod, aby zainicjować zestaw danych, wypełnij zestaw danych informacjami zAdventureWorksLTDataSet
bazy danych.Dodaj następujący kod do metody
ThisAddIn_Startup
: Spowoduje to wygenerowanie elementu hosta, który rozszerza dokument. Aby uzyskać więcej informacji, zobacz Rozszerzanie dokumentów programu Word i skoroszytów programu Excel w dodatku VSTO w czasie wykonywania.Zdefiniuj kilka zakresów na początku dokumentu. Te zakresy określają, gdzie należy wstawić tekst i umieścić kontrolki.
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 kontrolki interfejsu do wcześniej zdefiniowanych zakresów.
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");
Powiąż kontrolkę
AdventureWorksLTDataSet
zawartości z przy użyciu elementu BindingSource. W przypadku deweloperów języka C# dodaj dwa programy obsługi zdarzeń dla Button kontrolek.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, aby przejść przez rekordy bazy danych.
Testowanie dodatku
Po otwarciu AdventureWorksLTDataSet
programu Word kontrolka zawartości wyświetla dane z zestawu danych. Przewiń rekordy bazy danych, klikając przyciski Dalej i Poprzednie .
Aby przetestować dodatek VSTO
Naciśnij klawisz F5.
Kontrolka zawartości o nazwie
customerContentControl
jest tworzona i wypełniana danymi. Jednocześnie do projektu dodawany jest obiekt zestawu danych o nazwieadventureWorksLTDataSet
i BindingSource nazwanycustomerBindingSource
. Element ContentControl jest powiązany z obiektem BindingSource, który z kolei jest powiązany z obiektem zestawu danych.Kliknij przycisk Dalej i Poprzednie, aby przewinąć rekordy bazy danych.
Powiązana zawartość
- Dane w rozwiązaniach pakietu Office
- Wiązanie danych z kontrolkami w rozwiązaniach pakietu Office
- Instrukcje: wypełnianie arkuszy danymi z bazy danych
- Instrukcje: wypełnianie dokumentów danymi z bazy danych
- Instrukcje: wypełnianie dokumentów danymi z usług
- Instrukcje: wypełnianie dokumentów danymi z obiektów
- Instrukcje: przewijanie rekordów bazy danych w arkuszu
- Instrukcje: aktualizowanie źródła danych przy użyciu danych z kontrolki hosta
- Przewodnik: proste powiązanie danych w projekcie na poziomie dokumentu
- Przewodnik: złożone powiązanie danych w projekcie na poziomie dokumentu
- Omówienie używania lokalnych plików bazy danych w rozwiązaniach pakietu Office
- Dodawanie nowych źródeł danych
- Wiązanie kontrolek Windows Forms z danymi w programie Visual Studio
- Instrukcje: wypełnianie dokumentów danymi z obiektów
- Instrukcje: aktualizowanie źródła danych przy użyciu danych z kontrolki hosta
- Omówienie używania lokalnych plików bazy danych w rozwiązaniach pakietu Office
- BindingSource component overview (Omówienie składnika BindingSource)