Demonstra Passo a passo: Passando dados entre formulários em um aplicativos do Windows

Esta explicação passo a passo fornece instruções passo a passo para a passagem de dados de um formulário para outro.Usando as tabelas de clientes e de pedidos do Northwind irá permitindo que usuários selecione um cliente e um segundo formulário será exibidos com os pedidos do cliente selecionado.Este explicação passo a passo mostra como criar um método em um formulário que recebe dados do primeiro formulário.

Observação:

Esta explicação passo a passo demonstra somente uma maneira de passar dados entre formulários.Há outras opções para passar dados para um formulário, incluindo essas abordagens: Você pode criar um segundo construtor para receber dados, ou você pode criar uma propriedade pública que pode ser definida com dados a partir do primeiro formulário.

Tarefas ilustradas nesta explicação passo a passo incluem:

Pré-requisitos

Para concluir esta explicação passo a passo, você precisa:

Criando o aplicativo Windows

Para criar o novo projeto Windows

  1. No menu File, crie um novo projeto.

  2. Nome do projeto PassingDataBetweenForms.

  3. Selecione Windows Application e clique em OK.Para obter mais informações, consulte Criando Aplicativos Baseados no Windows.

    O projeto PassingDataBetweenForms é criado e adicionado Solution Explorer.

Criando o DataSet

Para criar a fonte de dados

  1. No menu Data, clique em Show Data Sources.

  2. Na janela Data Sources, selecione Add New Data Source para iniciar o Data Source Configuration Wizard.

  3. Selecione Database na página Choose a Data Source Type, e clique Next.

  4. Na página Choose your Data Connection, siga um destes procedimentos:

    • Se uma conexão de dados para o banco de dados de exemplo Northwind estiver disponível na lista drop-down, selecione-o.

      - ou -

    • Selecione New Connection para iniciar a caixa Add/Modify Connection.Para obter mais informações, consulte Adicionar/Modificar Conexão Caixa de diálogo Box (Geral).

  5. Se seu banco de dados exigir uma senha e se a opção para incluir dados confidenciais é ativada, selecione a opção e clique Next.

  6. Clique Next na página Save connection string to the Application Configuration file.

  7. Expanda o nó Tables na página Choose your Database Objects.

  8. Selecione as tabelas Customers e Orders, e clique Finish.

    O NorthwindDataSet é adicionado ao seu projeto e as tabelas Customers e Orders aparecem na janela Data Sources.

Criando o First Form (Form1)

Você pode criar uma grade vinculada a dados (um controle DataGridView) arrastando o nó Customers da janela Data Sources para o formulário.

Para criar uma grade vinculada a dados no formulário

Criando o Second Form (Form2)

Para criar um segundo formulário para passar os dados

  1. No menu Project, escolha Add Windows Form.

  2. Deixe o nome padrão Form2 e clique em Add.

  3. Arraste o nó principal Orders da janela Data Sources em Form2.

    Um DataGridView e uma faixa de ferramenta (BindingNavigator) para navegar em registros aparecem no Form2.Um NorthwindDataSet,CustomersTableAdapter, BindingSource e BindingNavigator aparecem na bandeja de componentes.

  4. Excluir a OrdersBindingNavigator da bandeja de componentes

    O OrdersBindingNavigator desaparece do Form2.

Adicionar uma consulta TableAdapter ao Form2 para carregar pedidos do cliente selecionado no Form1

Para criar uma consulta TableAdapter

  1. Clique duas vezes no arquivo NorthwindDataSet.xsd no Solution Explorer.

  2. Clique com o botão direito do mouse em OrdersTableAdapter e selecione Add Query.

  3. Deixe a opção padrão Use SQL statements, e clique Next.

  4. Deixe a opção padrão SELECT which returns rows, e clique Next.

  5. Adicione uma cláusula WHERE para a consulta retornar Orders com base no CustomerID.A consulta deve ser semelhante à seguinte:

    SELECT OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry
    FROM Orders 
    WHERE CustomerID = @CustomerID
    
    Observação:

    Verifique a correta sintaxe de parâmetro para seu banco de dados.Por exemplo, no Microsoft acesso, a cláusula WHERE iria parecer: WHERE CustomerID = ?.

  6. Clique em Next.

  7. Para o Fill a DataTableMethod Name, digite FillByCustomerID.

  8. Limpe a opção Return a DataTable, e clique Next.

  9. Clique em Finish.

Criando um método no Form2 para passar dados

Para criar um método para passar dados

  1. Clique com o botão direito do mouse no Form2 e selecione View Code para abrir Form2 no Code Editor.

  2. Substitua o método Form2_Load que foi adicionado automaticamente ao formulário pelo código a seguir:

    Friend Sub LoadOrders(ByVal CustomerID As String)
        OrdersTableAdapter.FillByCustomerID(NorthwindDataSet.Orders, CustomerID)
    End Sub
    
    internal void LoadOrders(String CustomerID)
    {
        ordersTableAdapter.FillByCustomerID(northwindDataSet.Orders, CustomerID);
    }
    

Criar um método no Form1 para passar dados e exibir o Form2

Para criar um método para passar dados para o Form2

  1. Clique com o botão direito do mouse no Form1 e selecione View Code para abrir Form1 no Code Editor.

  2. Adicione o seguinte código ao Form1 abaixo do método Form1_Load:

    Private Sub CustomersDataGridView_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles CustomersDataGridView.DoubleClick
    
        Dim SelectedRowView As Data.DataRowView
        Dim SelectedRow As NorthwindDataSet.CustomersRow
    
        SelectedRowView = CType(CustomersBindingSource.Current, System.Data.DataRowView)
        SelectedRow = CType(SelectedRowView.Row, NorthwindDataSet.CustomersRow)
    
        Dim OrdersForm As New Form2
        OrdersForm.LoadOrders(SelectedRow.CustomerID)
        OrdersForm.Show()
    End Sub
    
    private void customersDataGridView_DoubleClick(object sender, EventArgs e)
    {
        System.Data.DataRowView SelectedRowView;
        NorthwindDataSet.CustomersRow SelectedRow;
    
        SelectedRowView = (System.Data.DataRowView)customersBindingSource.Current;
        SelectedRow = (NorthwindDataSet.CustomersRow)SelectedRowView.Row;
    
        Form2 OrdersForm = new Form2();
        OrdersForm.LoadOrders(SelectedRow.CustomerID);
        OrdersForm.Show();
    }
    

Executar o aplicativo

Para executar o aplicativo

  • Pressione F5 para executar o aplicativo.

  • Clique duas vezes um registro no Form1 para abrir o Form2 com os pedidos desse cliente.

Próximas etapas

Dependendo dos seus requisitos do aplicativo, existem várias etapas que podem ser executadas após a passagem de dados entre formulários.Alguns aprimoramentos que você poderia fazer a essa explicação passo a passo incluem:

Consulte também

Conceitos

Exibindo visão geral de dados

Visão geral sobre fontes de dados

Visão geral do TableAdapter

Outros recursos

Explicações Passo a passo sobre Dados

Conectando-se a Dados no Visual Studio

Preparando seu aplicativo para receber dados

Buscando dados em seu aplicativo

Exibindo dados em formulários em aplicativos do Windows

Editar dados no seu aplicativo

Validando Dados

Salvando dados