Passo a passo: Criando um controle de usuário do Windows Forms que suporta pesquisa de ligação de dados
Ao exibir dados em formulários do Windows, você pode escolher os controles existentes da Toolbox, ou você pode criar controles personalizados se seu aplicativo requer funcionalidade que não está disponível nos controles padrão.Essa explicação passo a passo mostra como criar um controle que implementa o LookupBindingPropertiesAttribute.Controles que implementam o LookupBindingPropertiesAttribute podem conter uma propriedade que pode ser vinculada a dados.Tais controles são semelhantes a um ComboBox ou .
Para obter mais informações sobre criação de controle, consulte Desenvolvendo controles do Windows Forms em tempo de Design.
Ao criar controles para uso em cenários de ligação de dados você precisará implementar um dos seguintes atributos do databinding:
Uso do atributo DataBinding |
---|
Implemente o DefaultBindingPropertyAttribute em controles simples, como um TextBox, que exibe uma única coluna (ou propriedade) de dados.Para obter mais informações, consulte Passo a passo: Criando um controle de usuário do Windows Forms que suporta a vinculação de dados simples. |
Implemente o ComplexBindingPropertiesAttribute em controles, como um DataGridView, que exibe listas (ou tabelas) de dados.Para obter mais informações, consulte Passo a passo: Criando um controle de usuário do Windows Forms que suporta a vinculação de dados complexos. |
Implemente o LookupBindingPropertiesAttribute em controles, como um ComboBox, que exibe listas (ou tabelas) de dados mas também precisa apresentar uma única coluna ou propriedade.(Esse processo é descrito nesta página de explicação passo a passo.) |
Esta explicação passo a passo cria um controle de pesquisa que vincula dados de duas tabelas.Esse exemplo usa as tabelas Customers e Orders do banco de dados de amostra Northwind.O controle de pesquisa estará vinculado ao campo CustomerID da tabela Orders.Ele usará este valor para pesquisar o CompanyName na tabela Customers.
Durante este explicação passo a passo, você aprenderá como:
Criar um novo Windows Application.
Adicionar um novo User Control para o projeto.
Criar visualmente o controle de usuário.
Implementar o atributo LookupBindingProperty.
Criar um conjunto de dados com o Data Source Configuration Wizard.
Definir a coluna CustomerID na tabela Orders na janela Data Sources para usar o novo controle.
Criar um formulário para exibir dados no novo controle.
Pré-requisitos
A fim de concluir este explicação passo a passo, será necessário:
- Acesso ao banco de dados de exemplo Northwind.Para obter mais informações, consulte Como: instalar bancos de dados de amostra.
Criando um Aplicativo Windows
A primeira etapa é criar um Windows Application.
Para criar o novo projeto Windows
No Visual Studio, a partir do menu File, crie um novo Project.
Nome do projeto LookupControlWalkthrough.
Selecione Windows Application e clique em OK.Para obter mais informações, consulte Desenvolvendo aplicativos clientes.
O projeto LookupControlWalkthrough é criado e adicionado Solution Explorer.
Adicionar um controle de usuário ao projeto
Esta explicação passo a passo cria um controle de pesquisa User Control, para adicionar um item User Control ao projeto LookupControlWalkthrough
Para adicionar um controle de usuário ao projeto
No menu Project, selecione Add User Control.
Digite LookupBox na área Name, e clique Add.
O controle LookupBox é adicionado ao Solution Explorer e abre no designer.
Criar o controle LookupBox
Para criar o controle LookupBox
- Arraste um ComboBox a partir da Toolbox para a superfície de design do controle de usuário.
Adicionando o atributo de vinculação de dados requerido
Para controles complexos que suportam vinculação de dados, você pode implementar o LookupBindingPropertiesAttribute.
Para implementar o atributo LookupBindingProperties
Alternar o controle LookupBox para modo de exibição do código.(No menu View, escolha Code).
Substitua o código no LookupBox pelo seguinte:
<System.ComponentModel.LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "LookupMember")> Public Class LookupBox Public Property DataSource() As Object Get Return ComboBox1.DataSource End Get Set(ByVal value As Object) ComboBox1.DataSource = value End Set End Property Public Property DisplayMember() As String Get Return ComboBox1.DisplayMember End Get Set(ByVal value As String) ComboBox1.DisplayMember = value End Set End Property Public Property ValueMember() As String Get Return ComboBox1.ValueMember End Get Set(ByVal value As String) ComboBox1.ValueMember = value End Set End Property Public Property LookupMember() As String Get Return ComboBox1.SelectedValue.ToString() End Get Set(ByVal value As String) ComboBox1.SelectedValue = value End Set End Property End Class
using System.Windows.Forms; namespace CS { [System.ComponentModel.LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "LookupMember")] public partial class LookupBox : UserControl { public object DataSource { get{ return comboBox1.DataSource; } set{ comboBox1.DataSource = value; } } public string DisplayMember { get{ return comboBox1.DisplayMember; } set{ comboBox1.DisplayMember = value; } } public string ValueMember { get{ return comboBox1.ValueMember; } set{ comboBox1.ValueMember = value; } } public string LookupMember { get{ return comboBox1.SelectedValue.ToString(); } set{ comboBox1.SelectedValue = value; } } public LookupBox() { InitializeComponent(); } } }
No menu Build, escolha Build Solution.
Crie uma fonte de dados no seu banco de dados
Essa etapa cria uma fonte de dados usando o Data Source Configuration Wizard baseado nas tabelas Customers e Orders no banco de dados de exemplos Northwind.Você deve ter acesso ao banco de dados de exemplos Northwind para criar a conexão.Para obter informações sobre como configurar o banco de dados de exemplo Northwind, consulte Como: instalar bancos de dados de amostra.
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.
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, selecione a opção para incluir dados confidenciais, 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 em Finish.
O NorthwindDataSet é adicionado ao seu projeto e o Customers e Orders tabelas aparecem na Fontes de dados janela.
Defini a coluna CustomerID da tabela Pedidos para usar o controle LookupBox
Dentro da janela Data Sources você pode definir o controle a ser criado, antes de arrastar itens para seu formulário.
Definir vinculação da coluna CustomerID ao controle LookupBox
Abra o Form1 no designer.
Expanda o nó Customers na janela Data Sources.
Expanda o nó Orders (aquele nó Customers abaixo da coluna Fax).
Clique na seta suspensa no nó Orders e escolha Details a partir da lista de controle.
Clique na seta suspensa na coluna CustomerID (no nó Orders) e escolha Customize.
Do LookupBox selecione a lista de Associated Controls na caixa de diálogo Data UI Customization Options.
Clique em OK.
Clique na seta suspensa na coluna CustomerID e escolha LookupBox.
Adicionar os controles ao formulário
Você pode criar os controles com dados vinculados, arrastando itens da janela Data Sources para Form1.
Para criar controles de dados vinculados no Windows Form
- Arraste o nó Orders da janela Data Sources para o Formulário do Windows e verifique que o controle LookupBox é utilizado para exibir os dados na coluna CustomerID.
Vinculando o controle para pesquisar o Nome da Companhia na tabela Clientes
Para configurar as vinculações de pesquisa
Selecione o nó Customers principal na janela Data Sources e arraste-o para a caixa de combinação na CustomerIDLookupBox no Form1.
Isso configura a vinculação de dados para exibir o CompanyName a partir da tabela Customers mantendo o valor CustomerID da tabela Orders.Para obter mais informações, consulte Como: criar tabelas de pesquisa em aplicativos do Windows Forms.
Executando o aplicativo
Para executar o aplicativo
Pressione F5 para executar o aplicativo.
Navegue em alguns registros e verifique que o CompanyName aparece no controle LookupBox.
Consulte também
Tarefas
Como: definir o controle a ser criado ao arrastar da janela Data Sources
Conceitos
Novidades para desenvolvimento de aplicativos de dados no Visual Studio 2012
Vinculando controles do Windows Forms a dados em Visual Studio
Preparando seu aplicativo para receber dados
Buscando dados em seu aplicativo.
Controles de vinculação de dados de Visual Studio
Edição de dados em seu aplicativo.