Partilhar via


Passo a passo: Criando uma relação mestre/detalhes usando um Dataset em cache

Essa explicação passo a passo demonstra a criação de um relacionamento mestre/detalhes em uma planilha, e armazenar em cache os dados de forma que a solução pode ser usado offline.

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

Durante este explicação passo a passo, você aprenderá como:

  • Adicionar controles a uma planilha.

  • Configurar um conjunto de dados a ser armazenado em cache em uma planilha.

  • Adicione código para permitir a rolagem pelos registros.

  • Testar seu projeto.

ObservaçãoObservação

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

Pré-requisitos

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

-

Uma edição do Visual Studio 2012 que inclui o Microsoft Office Developer Tools. Para obter mais informações, consulte [Configurando um computador para desenvolver soluções do Office](bb398242\(v=vs.110\).md).
  • Excel 2013 ou Excel 2010.

  • Acesso ao banco de dados de exemplo Northwind SQL Server.O banco de dados pode estar no seu computador de desenvolvimento ou em um servidor.

  • Permissões leitura e gravação no banco de dados SQL Server.

Criando um novo projeto

Nesta etapa, você criará um projeto de pasta de trabalho do Excel.

Para criar um novo projeto

  • Crie um projeto de pasta de trabalho do Excel com o nome Meu master-detail, usando Visual Basic ou C#.Certifique-se de que Criar um Novo Documento está selecionado.Para obter mais informações, consulte Como: criar projetos do Office em Visual Studio.

O Visual Studio abre a nova pasta de trabalho do Excel no designer e adiciona meu projeto master-detail a Gerenciador de Soluções.

Criando o DataSet

Use a janela de Fontes de Dados para adicionar um dataset tipado ao seu projeto.

Para criar o DataSet

  1. Se a janela de Fontes de Dados não estiver visível, exibi-la por, na barra de menus, escolhendo Modo de Visualização, Outras Janelas, Fontes de Dados.

  2. Escolha Adicionar Nova Fonte de Dados para iniciar Assistente para Configuração de Fonte de Dados.

  3. Selecione Database e clique em Next.

  4. Selecione uma conexão de dados ao banco de dados SQL Server de exemplo Northwind, ou adicione uma nova conexão usando o botão de Nova Conexão .

  5. Após selecionado ou criar uma conexão, clique Avançar.

  6. Desmarque a opção para salvar a conexão se está selecionada, e clique em Avançar.

  7. Expanda o nó de Tabelas na janela de Objetos de Banco de Dados .

  8. Selecione a tabela de Orders e a tabela de Order Details .

  9. Clique em Concluir.

O assistente adiciona as duas tabelas para a janela de Fontes de Dados .Ele também adiciona um dataset tipado ao seu projeto que está visível em Gerenciador de Soluções.

Adicionando controles à planilha

Nesta etapa, você adicionará um intervalo nomeado, um objeto de lista, e dois botões à primeira planilha.Primeiro, adicione o intervalo nomeado e o objeto de lista da janela de Fontes de Dados para que sejam automaticamente associados à fonte de dados.Em seguida, adicione os botões de Caixa de Ferramentas.

Para adicionar um intervalo nomeado e uma lista objeto

  1. Verifique se a pasta de trabalho do Meu Master-Detail.xlsx é aberta no designer do Visual Studio, com Plan1 exibida.

  2. Abra a janela de Fontes de Dados e expanda o nó de Orders .

  3. Selecione a coluna de OrderID , clique na seta suspensa que aparece.

  4. Clique NamedRange na lista suspensa em seguida, arraste a coluna de OrderID a célula A2.

    Um controle de NamedRange chamado OrderIDNamedRange é criado na célula A2.Ao mesmo tempo, BindingSource chamado OrdersBindingSource, um adaptador da tabela, e uma instância de DataSet são adicionados ao projeto.O controle é associado a BindingSource, que por sua vez é associado à instância de DataSet .

  5. Role para baixo após as colunas que estão na tabela de Orders .Na parte inferior da lista é a tabela de Order Details ; aqui está porque é um filho da tabela de Orders .Selecione esta tabela de Order Details , não aquela que está no mesmo nível da tabela de Orders , clique na seta suspensa que aparece.

  6. Clique ListObject na lista suspensa em seguida, arraste a tabela de PedidoDetalhes a célula A6.

  7. Um controle de ListObject chamado Order_DetailsListObject é criado na célula A6, e o limite a BindingSource.

Para adicionar dois botões

  1. Na guia de Controles Comuns de Caixa de Ferramentas, adicione um controle de Button a célula A3 a planilha.

    Este botão é chamado Button1.

  2. Adicione outro controle de Button a célula B3 a planilha.

    Este botão é chamado Button2.

Em seguida, marca o conjunto de dados a ser armazenado em cache no documento.

Armazenar em cache o conjunto de dados

Marcar o conjunto de dados a ser armazenado em cache no documento fazendo o público dataset e definindo a propriedade de CacheInDocument .

Para armazenar em cache o conjunto de dados

  1. Selecione O NorthwindDataSet na bandeja de componentes.

  2. Na janela de Propriedades , altere a propriedade de Modificadores a Público.

    Datasets devem ser públicos antes que o cache é ativado.

  3. Altere a propriedade de CacheInDocument para Verdadeiro.

A próxima etapa é adicionar texto a botões, C# e em adicionar o código para ligar manipuladores de eventos.

Inicializando controles

Defina o texto do botão e adiciona manipuladores de eventos durante o evento de Startup .

Para inicializar os dados e controles

  1. Em Gerenciador de Soluções, clique com o botão direito do mouse Sheet1.vb ou Sheet1.cs, clique em Exibir Código no menu de atalho.

  2. Adicione o seguinte código ao método de Sheet1_Startup para definir o texto para os botões.

    Me.Button1.Text = "<"
    Me.Button2.Text = ">"
    
    this.button1.Text = "<";
    this.button2.Text = ">";
    
  3. Para C# somente, adicionar manipuladores de eventos para os eventos de clique do botão para o método de Sheet1_Startup .

    this.button1.Click += new EventHandler(button1_Click);
    this.button2.Click += new EventHandler(button2_Click);
    

Adicionando código para permitir a rolagem pelos registros

Adicione código ao manipulador de eventos Click de cada botão para mover entre os registros.

Para percorrer os registros

  1. Adicionar um manipulador de eventos para o evento de Click de Button1, e adicione o seguinte código para mover para trás pelos registros:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button1.Click
    
        Me.OrdersBindingSource.MovePrevious()
    End Sub
    
    private void button1_Click(object sender, EventArgs e)
    {
        this.ordersBindingSource.MovePrevious();
    }
    
  2. Adicionar um manipulador de eventos para o evento de Click de Button2, e adicione o seguinte código ao avanço através de registros:

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button2.Click
    
        Me.OrdersBindingSource.MoveNext()
    End Sub
    
    private void button2_Click(object sender, EventArgs e)
    {
        this.ordersBindingSource.MoveNext();
    }
    

Testando o aplicativo

Agora você pode testar sua pasta de trabalho para certificar-se que os dados aparecem como esperado, e que você pode usar a solução off-line.

Para testar o cache de dados

  1. Pressione F5.

  2. Verifique se o intervalo nomeado e o objeto de lista são preenchidos com dados da fonte de dados.

  3. Scroll com alguns dos registros clicando nos botões.

  4. Salve a pasta de trabalho, e feche a pasta de trabalho e o Visual Studio.

  5. Desativar a conexão ao banco de dados.Desconecte o cabo de rede do computador se o banco de dados está localizado em um servidor, ou parar o SQL Server service se o banco de dados está no seu computador de desenvolvimento.

  6. O excel abrir, e então Meu Master-Detail.xlsx aberto diretório \ bin \ my (o master-detail \ bin em Visual Basic ou \ my master-detail \ bin \ debug C#).

  7. Scroll com alguns dos registros para ver que a planilha opera normalmente quando desconectada.

  8. Reconecte-se ao banco de dados.Conectar seu computador à rede novamente se o banco de dados está localizado em um servidor, ou enfie o SQL Server service se o banco de dados está no seu computador de desenvolvimento.

Próximas etapas

Essa explicação passo a passo mostra as noções básicas de criar uma relação de dados mestre/detalhes em uma planilha e de cache um dataset.Aqui estão algumas tarefas que podem vie em seguida:

Consulte também

Conceitos

Cache de dados

Itens de host e visão geral sobre controles de Host

Outros recursos

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

Data in Office Solutions