Demonstra Passo a passo: Passando dados entre Windows Forms
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. 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 projeto Windows Application.
Criar e configurar um DataSet com o Assistente de Configuração de Fonte de Dados.
Selecionando o controle a ser criado no formulário ao arrastar itens a partir da janela Data Sources. Para obter mais informações, consulte Como: Definir o controle a ser criado ao arrastar da janela Data Sources.
Criar um controle vinculado a dados, arrastando itens da janela Data Sources em um formulário.
Criar 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 esta explicação 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 amostra.
Criando o aplicativo Windows
Para criar o novo projeto Windows
No menu File, crie um novo projeto.
Nome do projeto PassingDataBetweenForms.
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
No menu Data, clique em Show Data Sources.
Na janela Data Sources, selecione Add New Data Source para iniciar o Data Source Configuration Wizard.
Selecione Database na página Choose a Data Source Type, e clique Next.
No Escolher um modelo de banco de dados de página, verifique Dataset for especificado e, em seguida, clique em próximo.
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 a caixa de diálogo de conexão (geral).
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.
Clique Next na página Save connection string to the Application Configuration file.
Expanda o nó Tables na página Choose your Database Objects.
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
Arraste o nó principal Customers da janela Data Sources no Form1.
Um DataGridView e uma faixa de ferramenta (BindingNavigator) para navegar em registros aparecem no Form1. Um NorthwindDataSet,CustomersTableAdapter, BindingSource e BindingNavigator aparecem na bandeja de componentes.
Criando o Second Form (Form2)
Para criar um segundo formulário para passar os dados
No menu Project, escolha Add Windows Form.
Deixe o nome padrão Form2 e clique em Add.
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.
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
Clique duas vezes no arquivo NorthwindDataSet.xsd no Solution Explorer.
Clique com o botão direito do mouse em OrdersTableAdapter e selecione Add Query.
Deixe a opção padrão Use SQL statements, e clique Next.
Deixe a opção padrão SELECT which returns rows, e clique Next.
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 Access, a cláusula WHERE iria parecer: WHERE CustomerID = ?.
Clique em Next.
Para o Fill a DataTable Method Name, digite FillByCustomerID.
Limpe a opção Return a DataTable, e clique Next.
Clique em Finish.
Criando um método no Form2 para passar dados
Para criar um método para passar dados
Clique com o botão direito do mouse no Form2 e selecione View Code para abrir Form2 no Code Editor.
Adicione o seguinte código para Form2 após o Form2_Load método:
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
Em Form1, clique com o botão direito na grade de dados do cliente e, em seguida, clique em Propriedades.
No Propriedades janela, clique em eventos.
Clique duas vezes o CellDoubleClick evento.
O editor de código aparece.
Atualize a definição de método para coincidir com o exemplo a seguir:
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
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:
Editando o dataset, para adicionar ou remover objetos do banco de dados. Para obter mais informações, consulte Como: Editar um conjunto de dados..
Adicionar funcionalidades para salvar dados de volta para o banco de dados. Para obter mais informações, consulte Como: Salvar alterações do Dataset para um banco de dados..
Consulte também
Conceitos
Vinculação de controles do Windows Forms a dados em Visual Studio
Visão geral sobre fontes de dados
Controles de vinculação de dados de Visual Studio
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
Editar dados no seu aplicativo
Histórico de alterações
Date |
History |
Motivo |
---|---|---|
Março de 2011 |
Eliminados os erros no código de exemplo. |
Comentários do cliente. |