Compartilhar via


Demonstra Passo a passo: Ligação de dados complexa 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

  • O Excel 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 uma planilha do Microsoft Office Excel e ligar os controles a dados em tempo de execução.

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

  • Adicionar um Controlarar de ListObject a uma planilha em tempo de execução.

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

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.

  • O Excel 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 um Excel Adicionar no projeto.

Para criar um novo projeto

  • Criar um Excel 2007 Adicionar no projeto com as planilhas de Populating nome 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 as planilhas 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 endereço (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 Endereços (SalesLT) no banco de dados AdventureWorksLT.

    • Um TableAdapter denominado AddressTableAdapter.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

Para esta explicação passo a passo, o Controlarar de ListObject exibe Tudo dados na tabela Selecionadoda assim que o usuário abre a pasta de trabalho.O objeto de lista usa um BindingSource para se conectar o Controlarar para o banco de dados.

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

Para adicionar o objeto da lista, o dataset e o adaptador de tabela

  1. Na classe ThisAddIn , declare os seguintes controles para exibir a tabela Address do dataset AdventureWorksLTDataSet.

    Private addressListObject As Microsoft.Office.Tools.Excel.ListObject
    Private adventureWorksDataSet As AdventureWorksLTDataSet
    Private addressTableAdapter As AdventureWorksLTDataSetTableAdapters.AddressTableAdapter
    Private addressBindingSource As System.Windows.Forms.BindingSource
    
    private Microsoft.Office.Tools.Excel.ListObject addressListObject;
    private AdventureWorksLTDataSet adventureWorksDataSet;
    private AdventureWorksLTDataSetTableAdapters.AddressTableAdapter addressTableAdapter;
    private System.Windows.Forms.BindingSource addressBindingSource;
    
  2. No método ThisAddIn_Startup , Adicionar o seguinte código para inicializar o conjunto de dados e preencher o dataset com informações do dataset AdventureWorksLTDataSet.

    Me.addressTableAdapter = New AdventureWorksLTDataSetTableAdapters.AddressTableAdapter()
    Me.adventureWorksDataSet = New AdventureWorksLTDataSet()
    Me.addressTableAdapter.Fill(Me.adventureWorksDataSet.Address)
    Me.addressBindingSource = New System.Windows.Forms.BindingSource()
    
    this.addressTableAdapter = new AdventureWorksLTDataSetTableAdapters.AddressTableAdapter();
    this.adventureWorksDataSet = new AdventureWorksLTDataSet();
    this.addressTableAdapter.Fill(this.adventureWorksDataSet.Address);
    this.addressBindingSource = new System.Windows.Forms.BindingSource();
    
  3. Adicione o seguinte código ao método ThisAddIn_Startup.Isso gera um item de host que estende a planilha.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 worksheet As Excel.Worksheet = DirectCast(Me.Application.ActiveWorkbook.Worksheets(1), Excel.Worksheet)
    Dim extendedWorksheet As Worksheet = worksheet.GetVstoObject()
    
    Excel.Worksheet worksheet = (Excel.Worksheet)this.Application.ActiveWorkbook.Worksheets[1];
    Worksheet extendedWorksheet = worksheet.GetVstoObject();
    
  4. Criar um intervalo e adicionar o Controlarar de ListObject.

    Dim cell As Excel.Range = extendedWorksheet.Range("$A$1:$G$5", System.Type.Missing)
    Me.addressListObject = extendedWorksheet.Controls.AddListObject(cell, "list1")
    
    Excel.Range cell = extendedWorksheet.Range["$A$1:$G$5", System.Type.Missing];
    this.addressListObject = extendedWorksheet.Controls.AddListObject(cell, "list1");
    
  5. Ligar o Controlarar de conteúdo para AdventureWorksLTDataSet usando o BindingSource.Passar os nomes das colunas que você deseja Ligar ao objeto lista.

    Me.addressBindingSource.DataSource = Me.adventureWorksDataSet.Address
    Me.addressListObject.AutoSetDataBoundColumnHeaders = True
    Me.addressListObject.SetDataBinding( _
        Me.addressBindingSource, "", "AddressID", "AddressLine1", _
        "AddressLine2", "City", "StateProvince", "CountryRegion", "PostalCode")
    
    this.addressBindingSource.DataSource = this.adventureWorksDataSet.Address;
    this.addressListObject.AutoSetDataBoundColumnHeaders = true;
    this.addressListObject.SetDataBinding(
        this.addressBindingSource, "", "AddressID", "AddressLine1", 
        "AddressLine2", "City", "StateProvince", "CountryRegion", "PostalCode");
    

Teste o Adicionar - no

Quando você abrir o Excel, o Controlarar de ListObject exibe os dados da tabela do dataset AddressAdventureWorksLTDataSet.

Para testar o Adicionar - in

  • Pressione F5.

    Um Controlarar de ListObject chamado addressListObject é criado na planilha.Ao mesmo tempo, um objeto de dataset chamado adventureWorksLTDataSet e um BindingSource chamado addressBindingSource são adicionados ao projeto.O ListObject está Ligado a BindingSource, que por sua vez é Ligados ao objeto dataset.

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

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.