Passar dados entre formulários
Publicado: agosto de 2016
Este passo a passo fornece instruções passo a passo para passar dados de um formulário para outro. Usando as tabelas customers e orders do Northwind permitirá que os usuários selecionem um cliente e um segundo formulário exibirá os pedidos do cliente selecionado. Este passo a passo mostra como criar um método em um formulário que recebe dados do primeiro formulário.
Dica
Este passo a passo demonstra apenas uma forma de passar dados entre formulários. Existem outras opções para passar dados para um formulário, incluindo estes métodos: você pode criar um segundo construtor para receber dados, ou você pode criar uma propriedade pública que pode ser definida com dados do primeiro formulário.
As tarefas ilustradas neste passo a passo incluem:
Criando um novo Windows Application projeto.
Criando e configurando um dataset com o Assistente para Configuração da Fonte de Dados.
Selecionando o controle a ser criado no formulário ao arrastar itens do fontes de dados janela. Para obter mais informações, consulte Como definir o controle a ser criado quando arrastado da janela Fontes de Dados.
Criando um controle ligado a dados arrastando itens do fontes de dados window para um formulário.
Criando um segundo formulário com uma grade para exibir dados.
Criar uma consulta TableAdapter para buscar pedidos para um cliente específico.
Passando dados entre formulários.
Pré-requisitos
Para concluir este passo a passo, você precisa:
- Acesso ao banco de dados de exemplo Northwind. Para obter mais informações, consulte Como instalar bancos de dados de exemplo.
Criando o aplicativo Windows
Para criar o novo projeto do Windows
Do arquivo menu, crie um novo projeto.
Nomeie o projeto
PassingDataBetweenForms
.Selecione Windows Forms Application e clique em OK. Para obter mais informações, consulte Aplicativos cliente.
O PassingDataBetweenForms projeto é criado e adicionado ao Solution Explorer.
Criando a fonte de dados
Para criar a fonte de dados
Sobre o dados menu, clique em Show Data Sources.
No fontes de dados janela, selecione Add New Data Source para iniciar o Data Source Configuration Wizard.
Selecione banco de dados sobre o Escolher um tipo de fonte de dados página e, em seguida, clique em próximo.
No Escolher um modelo de banco de dados Verifique Dataset for especificado e, em seguida, clique em próximo.
Sobre o Escolha sua conexão de dados página, siga um destes procedimentos:
Se uma conexão de dados para o banco de dados de exemplo Northwind estiver disponível na lista suspensa, selecione-o.
- ou -
Selecione nova conexão para iniciar o Adicionar/Modificar conexão caixa de diálogo.
Se seu banco de dados exigir uma senha e se a opção para incluir dados confidenciais é ativada, selecione a opção e, em seguida, clique em próximo.
Clique em próximo sobre o Salvar cadeia de conexão no arquivo de configuração do aplicativo página.
Expanda o tabelas nó o Choose your Database Objects página.
Selecione o clientes e pedidos tabelas e clique Concluir.
O NorthwindDataSet é adicionado ao seu projeto e o clientes e tabelas de pedidos aparecem no fontes de dados janela.
Criando o primeiro formulário (Form1)
Você pode criar uma grade associada a dados (um DataGridView controle) arrastando o clientes nó a partir de fontes de dados window para o formulário.
Para criar uma grade associada a dados no formulário
Arraste principal clientes nó a partir de fontes de dados window para Form1.
Um DataGridView e uma faixa de ferramenta (BindingNavigator) para navegação em registros aparecem no Form1. Um NorthwindDataSet, CustomersTableAdapter, BindingSource, e BindingNavigator aparecem na bandeja de componentes.
Criando o segundo formulário (Form2)
Para criar um segundo formulário para passar os dados
Do projeto menu, escolha Adicionar formulário do Windows.
Deixe o nome padrão de Form2 e clique em Add.
Arraste principal pedidos nó a partir de fontes de dados window para Form2.
Um DataGridView e uma faixa de ferramenta (BindingNavigator) para navegação em registros aparecem no Form2. Um NorthwindDataSet, CustomersTableAdapter, BindingSource, e BindingNavigator aparecem na bandeja de componentes.
Excluir o OrdersBindingNavigator da bandeja de componentes.
O OrdersBindingNavigator desaparece da Form2.
Adicionar uma consulta TableAdapter ao Form2 para carregar pedidos do cliente selecionado no Form1
Para criar uma consulta TableAdapter
Clique duas vezes o NorthwindDataSet arquivo Solution Explorer.
Clique com botão direito do OrdersTableAdapter e selecione Add Query.
Deixe a opção padrão usar instruções SQL, e, em seguida, clique em próximo.
Deixe a opção padrão SELECT que retorna linhas, e, em seguida, clique em próximo.
Adicione uma cláusula WHERE à consulta para retornar
Orders
com base noCustomerID
. A consulta deve ser semelhante ao seguinte:SELECT OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry FROM Orders WHERE CustomerID = @CustomerID
Dica
Verifique a sintaxe de parâmetro corretos para seu banco de dados. Por exemplo, no Microsoft Access, a cláusula WHERE seria algo como:
WHERE CustomerID = ?
.Clique em Avançar.
Para o preencher uma DataTablenome do método, tipo
FillByCustomerID
.Limpar o retornar uma DataTable opção e, em seguida, clique em próximo.
Clique em Concluir.
Criando um método no Form2 para passar dados
Para criar um método para passar dados
Clique com botão direito Form2 e selecione Exibir código abrir Form2 no Editor de códigos.
Adicione o seguinte código para Form2 após o
Form2_Load
método:internal void LoadOrders(String CustomerID) { ordersTableAdapter.FillByCustomerID(northwindDataSet.Orders, CustomerID); }
Friend Sub LoadOrders(ByVal CustomerID As String) OrdersTableAdapter.FillByCustomerID(NorthwindDataSet.Orders, CustomerID) End Sub
Criando um método no Form1 para passar dados e exibir o Form2
Para criar um método para passar dados para o Form2
Em Form1, clique com botão direito da grade de dados do cliente e, em seguida, clique em propriedades.
No propriedades janela, clique em eventos.
Clique duas vezes o CellDoubleClick eventos.
O editor de código é exibido.
Atualize a definição do método para coincidir com o exemplo a seguir:
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(); }
Private Sub CustomersDataGridView_DoubleClick() 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
Executar o aplicativo
Para executar o aplicativo
Pressione F5 para executar o aplicativo.
Clique duas vezes em um registro de cliente no Form1 abrir Form2 com os pedidos do cliente.
Próximas etapas
Dependendo dos requisitos de aplicativo, há várias etapas que você talvez queira realizar após passar dados entre formulários. Alguns aprimoramentos que você poderia fazer neste passo a passo incluem:
Editando o dataset, para adicionar ou remover objetos de banco de dados. Para obter mais informações, consulte Criar e configurar conjuntos de dados.
Adicionando funcionalidade para salvar dados no banco de dados. Para obter mais informações, consulte Salvar dados no banco de dados.
Consulte também
Associar controles dos Windows Forms a dados no Visual Studio