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

Se aplica a

As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office.

Tipo de Projeto

  • Projetos de nível de aplicativo

Versão do Microsoft Office

  • Word 2007

For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto.

Iniciando no Visual Studio 2008 Serviço Pack 1 (SP1), você pode Ligar 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 Microsoft Office Word e ligar os controles a dados em tempo de execução.

Essa explicação passo a passo ilustra as seguintes tarefas:

  • Adicionando um ContentControl ao documento em tempo de execução.

  • Criar um BindingSource que fará se conecte o Controlarar a uma instância de um dataset.

  • Permitindo ao usuário percorrer os registros e Exibir-las no Controlarar.

Observação:

Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de 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

Para completar este passo a passo, são necessários os seguintes componentes:

  • Ferramentas do Visual Studio para o Office (um componente opcional do O Visual Studio 2008 Professional e Visual Studio Team System).

    Ferramentas do Visual Studio para o Office é instalado por padrão com as versões listadas do Visual Studio.Para Marcar se ele está instalado, Marcar Instalando o Visual Studio Tools para Office.

  • Word 2007.

  • Acessar a uma instância Executando do SQL Servidor 2005 ou SQL Servidor 2005 Express que tenha o AdventureWorksLT exemplo de banco de dados anexado a ele.Você pode baixar o banco de dados de AdventureWorksLT de CodePlex Web site.Para obter mais informações sobre anexando um banco de dados, consulte os tópicos a seguir:

Criando um novo projeto

A Primeiro etapa é criar uma palavra Adicionar no projeto.

Para criar um novo projeto

  • Criar um Word 2007 Adicionar no projeto com o nome Populating documentos de um banco de dados, usando Visual Basic ou C#.

    For more information, see Como: Criar o Visual Studio Tools para projetos do Office.

    O Visual Studio abre o arquivo de ThisAddIn.vb ou ThisAddIn.cs e adiciona a documentos Populating de um projeto de banco de dados para Gerenciador de Soluções.

Criando uma Fonte de Dados

Use a janela de Data Sources para adicionar um dataset tipado ao seu projeto.

Para adicionar um dataset digitado para o projeto

  1. No menu Data, clique em Add New Data Source.

    O Data Source Configuration Wizard é aberto.

  2. Clique em do banco de dados e clique em Avançar de .

  3. Se você tiver uma conexão existente para o banco de dados de AdventureWorksLT , escolha essa conexão e clique em Avançar de .

    Caso contrário, clique em Novo conexãoe use o Adicionar Conexão caixa de diálogo para criar a Novo conexão.For more information, see Como: Criar conexões para SQL Servidor bancos de dados.

  4. No Salvar o Cadeia de Caracteres da Conexão para a página de Aplicativo Configuration Arquivo, clique em Avançar de .

  5. Na página Choose Your Banco de Dados Objects, Expandirir Tabelas e Selecionar de cliente (SalesLT) .

  6. Clique em Finish.

    AdventureWorksLTDataSet. Arquivo XSD é adicionado ao do Solução Explorer.Este arquivo define os seguintes itens:

    • Um conjunto de dados tipado chamado AdventureWorksLTDataSet.Isso DataSet representa o conteúdo da tabela Customer (SalesLT) no banco de dados AdventureWorksLT.

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

    Você irá usar ambos esses objetos posteriormente neste passo-a-passo.

Criando controles e Binding controles a dados

A interface para exibir registros do banco de dados nesta explicação passo a passo é muito Basic, e ele é criadDireitontro do documento.Um ContentControl exibe um registro Simples banco de dados por vez, e dois controles de Button permitem que você role Voltar e para frente através de registros.O Controlarar de conteúdo usa um BindingSource para se conectar ao banco de dados.

Para obter mais informações sobre controles de ligação a dados, consulte Vinculando dados a controles.

Para criar a interface no documento

  1. Na classe ThisAddIn , declare os seguintes controles para exibir e rolar a tabela de Customer do banco de dados AdventureWorksLTDataSet.

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

    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. Adicione o seguinte código ao método ThisAddIn_Startup.Isso gera um item de host que estende o documento.For more information, see Estendendo os documentos do Word e Excel pastas de trabalho no nível de aplicativo Adicionar-ins em tempo de execução.

    Dim currentDocument As Word.Document = Me.Application.ActiveDocument
    Dim extendedDocument As Document = currentDocument.GetVstoObject()
    
    Word.Document currentDocument = this.Application.ActiveDocument;
    Document extendedDocument = currentDocument.GetVstoObject();
    
  4. Definir diversos intervalos no início do documento.Esses intervalos identificam onde inserir texto e colocar 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. Adicionar 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. Ligar o Controlarar de conteúdo para AdventureWorksLTDataSet usando o BindingSource.Para desenvolvedores de C#, Adicionar dois manipuladores de eventos para os controles de Button.

    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. Adicionar o código a seguir para navegar pelos registros do 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();
    }
    

Teste o Adicionar - no

Quando você Abrir Word, o Controlarar de conteúdo exibe dados do dataset AdventureWorksLTDataSet.Percorra os registros do banco de dados clicando Avançar e Anterior botões.

Para testar o Adicionar - in

  1. Pressione F5.

    Um Controlarar de conteúdo denominado customerContentControl é criado e preenchido com dados.Ao mesmo tempo, um objeto de dataset chamado adventureWorksLTDataSet e um BindingSource chamado customerBindingSource são adicionados ao projeto.O ContentControl está Ligado a BindingSource, que por sua vez é Ligados ao objeto dataset.

  2. Clique Botões de de anterior para percorrer os registros do banco de dados e de Avançar .

Consulte também

Tarefas

Como: Preencher planilhas com dados de um banco de dados

Como: Preencher documentos com dados de um banco de dados

Como: Preencher documentos com Dadosta de Services

Como: Preencher documentos com dados de objetos

Como: Rolagem através de registros de banco de dados em uma planilha

Como: Atualizar uma Origem de dados com dados de um Controlarar 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 Origem de dados com dados de um Controlarar de host

Conceitos

Vinculando dados a controles

Usando arquivos de banco de dados local em Visão geral de soluções do Office

Visão geral sobre fontes de dados

Exibindo visão geral de dados

Usando arquivos de banco de dados local em Visão geral de soluções do Office

Conectando-se a Dados no Visual Studio

Referência

Visão geral sobre o componente BindingSource

Outros recursos

Dados em soluções do Office

Date

History

Motivo

De 2008 de julho

Tópico adicionado.

Alteração de recurso do SP1.