Partilhar via


Demonstra Passo a passo: Ligação de dados simples em um projeto de nível de aplicativo

Você pode vincular dados a controles de host e controles de Windows Forms em projetos de nível de aplicativo. Esta explicação passo a passo demonstra como adicionar controles a um documento do Word de Microsoft Office e vincular controles a dados em tempo de execução.

Aplicável a: As informações neste tópico se aplicam a projetos de nível de aplicativo para Word 2007 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

This walkthrough illustrates the following tasks:

  • Adicionando um ContentControl a um documento no tempo de execução.

  • Criando um BindingSource que conecta o controle a uma instância de um dataset.

  • Habilitando o usuário rolar pelos registros e exibi-los no controle.

ObservaçãoObservação

Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações do Visual Studio.

Pré-requisitos

You need the following components to complete this walkthrough:

-

Uma edição do Visual Studio 2010 que inclua as ferramentas de desenvolvedor do Microsoft Office. Para obter mais informações, consulte [Configurando um computador para desenvolver soluções do Office](bb398242\(v=vs.100\).md).

Creating a New Project

A primeira etapa é criar um projeto de suplemento do Word.

Para criar um novo projeto.

  1. Crie um projeto de suplemento do Word com documentos de preencher o nome de um banco de dados, usando Visual Basic ou C#.

    For more information, see Como: Criar projetos do Office em Visual Studio.

    Abre o arquivo de ThisAddIn. vb ou ThisAddIn.cs de Visual Studio e adiciona os documentos de preenchimento de um projeto de banco de dados para Solution Explorer.

  2. Se os destinos do projeto de .NET Framework 4, adicione uma referência ao assembly Microsoft.Office.Tools.Word.v4.0.Utilities.dll. Esta referência é necessário para adicionar controles Windows Forms por programação o documento posteriormente nesta explicação passo a passo.

Creating a Data Source

Use o Fontes de dados janela para adicionar um dataset tipado ao seu projeto.

Para adicionar um dataset tipado ao projeto

  1. On the Data menu, click Add New Data Source.

    The Data Source Configuration Wizard opens.

  2. Clique em banco de dadose em seguida, clique em próximo.

  3. Se você tiver uma conexão existente com o AdventureWorksLT banco de dados, escolha esta conexão e clique em próximo.

    Caso contrário, clique em Nova conexãoe usar o Add Connection caixa de diálogo Criar nova conexão. For more information, see Como: Conectar-se a Dados em um Banco de Dados.

  4. No Save the Connection String no arquivo de configuração do aplicativo página, clique em próximo.

  5. No Escolha seus objetos de banco de dados de página, expanda tabelas e selecione o cliente (SalesLT).

  6. Click Finish.

    O arquivo AdventureWorksLTDataSet.xsd é adicionado ao Solution Explorer. Esse arquivo define os seguintes itens:

    • A typed dataset named AdventureWorksLTDataSet. Este dataset representa o conteúdo da (SalesLT) do cliente tabela no banco de dados AdventureWorksLT.

    • A TableAdapter named CustomerTableAdapter. Isso TableAdapter pode ser usado para ler e gravar dados na AdventureWorksLTDataSet. For more information, see Visão geral do TableAdapter.

    Você usará dois desses objetos posteriormente nesta explicação passo a passo.

Criando controles e controles de ligação a dados

A interface para exibir os registros do banco de dados nesta explicação é muito básico, e ele é criado dentro do documento. Um ContentControl exibe um registro único banco de dados em uma hora e dois Button controles permitem que você percorra e para trás de registros. O controle de conteúdo usa um BindingSource para se conectar ao banco de dados.

Para obter mais informações sobre controles de vinculação de dados, consulte A ligação de dados a controles em soluções do Office.

Para criar a interface do documento

  1. No ThisAddIn da classe, declare os seguintes controles para exibir e rolar o Customer índice da AdventureWorksLTDataSet banco de dados.

    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. No ThisAddIn_Startup método, adicione o seguinte código para inicializar o dataset, preencher o dataset com informações sobre o AdventureWorksLTDataSet banco de dados.

    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. Add the following code to the ThisAddIn_Startup method. Isso gera um item de host que estende o documento. For more information, see Estendendo os documentos do Word e pastas de trabalho do Excel em suplementos de nível de aplicativo em tempo de execução.

    Dim currentDocument As Word.Document = Me.Application.ActiveDocument
    
    ' Use the following line of code in projects that target the .NET Framework 4.
    Dim extendedDocument As Document = Globals.Factory.GetVstoObject(currentDocument)
    
    ' In projects that target the .NET Framework 3.5, use the following line of code instead.
    ' Dim extendedDocument As Document = currentDocument.GetVstoObject()
    
    Word.Document currentDocument = this.Application.ActiveDocument;
    
    // Use the following line of code in projects that target the .NET Framework 4.
    Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument);
    
    // In projects that target the .NET Framework 3.5, use the following line of code instead.
    // Document extendedDocument = currentDocument.GetVstoObject();
    
  4. Defina vários intervalos no início do documento. Esses intervalos identificam onde inserir texto e coloque os controles.

    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. Adicione os controles de interface para os intervalos definidos anteriormente.

    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. Vincular o controle de conteúdo AdventureWorksLTDataSet usando o BindingSource. Para desenvolvedores de C#, adicione dois manipuladores de eventos para o Button controles.

    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. Adicione o seguinte código para navegar pelos registros de banco de dados.

    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();
    }
    

Testando o suplemento

Quando você abre o Word, o controle de conteúdo exibe dados a partir de AdventureWorksLTDataSet dataset. Percorrer os registros do banco de dados clicando no próximo e anterior botões.

Para testar o suplemento

  1. Press F5.

    Um controle de conteúdo chamado customerContentControl é criada e preenchida com dados. At a mesma hora, um objeto dataset chamado adventureWorksLTDataSet e um BindingSource chamado customerBindingSource são adicionados ao projeto. O ContentControl está vinculado a BindingSource, que por sua vez é vinculado a objeto dataset.

  2. Clique o próximo e anterior botões para percorrer os registros do banco de dados.

Consulte também

Tarefas

Como: Preencher as planilhas com dados de um banco de dados.

Como: Preencher documentos com dados de um banco de dados.

Como: Preencher documentos com dados de serviços

Como: Preencher documentos com dados de objetos

Como: Percorra os registros de banco de dados em uma planilha

Como: Atualizar uma fonte de dados com dados de um controle de Host

Demonstra Passo a passo: Ligação de dados simples em um projeto de nível de documento

Demonstra Passo a passo: Ligação de dados complexa em um projeto de nível de documento

Como: Preencher documentos com dados de objetos

Como: Atualizar uma fonte de dados com dados de um controle de Host

Referência

Visão geral sobre o componente BindingSource

Conceitos

Usando arquivos de banco de dados Local na visão geral das soluções do Office

Visão geral sobre fontes de dados

Vinculação de controles do Windows Forms a dados em Visual Studio

Usando arquivos de banco de dados Local na visão geral das soluções do Office

Conectando a dados em aplicativos Windows Forms

Outros recursos

Dados em soluções do Office

A ligação de dados a controles em soluções do Office