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
Versão do Microsoft Office
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:
Para anexar um banco de dados usando SQL Servidor Management Studio ou SQL Servidor Management Studio Express, consulte como para: Anexe um banco de dados (SQL Servidor Management Studio).
Para anexar um banco de dados usando a linha de comando, consulte como para: Anexe um arquivo de banco de dados a SQL Servidor Express.
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
No menu Data, clique em Add New Data Source.
O Data Source Configuration Wizard é aberto.
Clique em do banco de dados e clique em Avançar de .
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.
No Salvar o Cadeia de Caracteres da Conexão para a página de Aplicativo Configuration Arquivo, clique em Avançar de .
Na página Choose Your Banco de Dados Objects, Expandirir Tabelas e Selecionar de endereço (SalesLT) .
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
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;
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();
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();
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");
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
Usando arquivos de banco de dados local em Visão geral de soluções do Office
Visão geral sobre fontes 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
Date |
History |
Motivo |
---|---|---|
De 2008 de julho |
Tópico adicionado. |
Alteração de recurso do SP1. |