Criar um controle de usuário do Windows Forms que dá suporte à vinculação de dados complexos
Publicado: abril de 2016
Ao exibir dados em formulários em aplicativos Windows, você pode escolher os controles existentes do Toolbox, ou você pode criar controles personalizados se seu aplicativo requer funcionalidade que não está disponível nos controles padrão. Este passo a passo mostra como criar um controle que implementa o ComplexBindingPropertiesAttribute. Controles que implementam o ComplexBindingPropertiesAttribute contêm um DataSource
e DataMember
propriedade que pode ser associada a dados. Tais controles são semelhantes a um DataGridView ou ListBox.
Para obter mais informações sobre criação de controle, consulte Desenvolvendo controles dos Windows Forms na hora de design.
Ao criar controles para uso em cenários de ligação de dados, você precisa implementar um dos seguintes atributos de associação de dados:
Uso do atributo de vinculação de dados |
---|
Implementar o DefaultBindingPropertyAttribute em controles simples, como um TextBox, que exibe uma única coluna (ou propriedade) de dados. Para obter mais informações, consulte Criar um controle de usuário do Windows Forms que dá suporte à vinculação de dados simples. |
Implementar o ComplexBindingPropertiesAttribute nos controles, como um DataGridView, que exibe listas (ou tabelas) de dados. (Esse processo é descrito nesta página de explicação passo a passo.) |
Implementar o LookupBindingPropertiesAttribute nos controles, como um ComboBox, que exibe listas (ou tabelas) de dados mas também precisa apresentar uma única coluna ou propriedade. Para obter mais informações, consulte Criar um controle de usuário do Windows Forms que dá suporte à vinculação de dados de pesquisa. |
Este passo a passo cria um controle complexo que exibe linhas de dados de uma tabela. Este exemplo usa o Customers
tabela do banco de dados de exemplo Northwind. O controle de usuário complexo exibirá a tabela clientes em um DataGridView no controle personalizado.
Durante essa explicação passo a passo, você aprenderá como:
Criar um novo Windows Application.
Adicione um novo controle de usuário ao seu projeto.
Crie visualmente o controle de usuário.
Implementar o
ComplexBindingProperty
atributo.Criar um conjunto de dados com o Assistente para Configuração da Fonte de Dados.
Definir o clientes tabela o Janela Fontes de Dados para usar o novo controle complexo.
Adicione o novo controle, arrastando-o da janela fontes de dados para Form1.
Pré-requisitos
Para concluir este passo a passo, você precisará de:
- Acesso ao banco de dados de exemplo Northwind. Para obter mais informações, consulte Como instalar bancos de dados de exemplo.
Criando um aplicativo do Windows
A primeira etapa é criar um Windows Application.
Para criar o novo projeto do Windows
No Visual Studio, do arquivo menu, crie um novo projeto.
Nomeie o projeto ComplexControlWalkthrough.
Selecione Windows Application e clique em OK. Para obter mais informações, consulte Aplicativos cliente.
O ComplexControlWalkthrough projeto é criado e adicionado ao Solution Explorer.
Adicionando um controle de usuário ao projeto
Porque essa explicação passo a passo cria um controle complexo de ligação de dados de um controle de usuário, você deve adicionar um controle de usuário item ao projeto.
Para adicionar um controle de usuário ao projeto
Do projeto menu, escolha Adicionar controle do usuário.
Tipo de ComplexDataGridView no nome área e clique Add.
O ComplexDataGridView controle é adicionado à Solution Explorer e abre no designer.
Criar o controle ComplexDataGridView
Esta etapa adiciona um DataGridView ao controle de usuário.
Para criar o controle ComplexDataGridView
- Arraste um DataGridView do Toolbox na superfície de design do controle de usuário.
Adicionando o atributo de vinculação de dados requerido
Para controles de complexos que suportam associação de dados, você pode implementar o ComplexBindingPropertiesAttribute.
Para implementar o atributo ComplexBindingProperties
Comutador de ComplexDataGridView controle de exibição de código. (No exibição menu, selecione código.)
Substitua o código no
ComplexDataGridView
com o seguinte:using System.Windows.Forms; namespace CS { [System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")] public partial class ComplexDataGridView : UserControl { public object DataSource { get{ return dataGridView1.DataSource; } set{ dataGridView1.DataSource = value; } } public string DataMember { get{ return dataGridView1.DataMember; } set{ dataGridView1.DataMember = value; } } public ComplexDataGridView() { InitializeComponent(); } } }
<System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")> Public Class ComplexDataGridView Public Property DataSource() As Object Get Return DataGridView1.DataSource End Get Set(ByVal value As Object) DataGridView1.DataSource = value End Set End Property Public Property DataMember() As String Get Return DataGridView1.DataMember End Get Set(ByVal value As String) DataGridView1.DataMember = value End Set End Property End Class
Do criar menu, escolha Build Solution.
Criando uma fonte de dados do banco de dados
Esta etapa usa o Data Source Configuration Wizard para criar uma fonte de dados com base no Customers
tabela no banco de dados de exemplo Northwind. Você deve ter acesso ao banco de dados de exemplo Northwind para criar a conexão. Para obter informações sobre como configurar o banco de dados de exemplo Northwind, consulte Install SQL Server sample databases.
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.
Sobre o Escolha sua conexão de dados página faça o seguinte:
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, selecione a opção para incluir dados confidenciais 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
Customers
da tabela e, em seguida, clique em Concluir.O NorthwindDataSet é adicionado ao seu projeto e o
Customers
tabela aparece no fontes de dados janela.
Configurando a tabela clientes para usar o controle ComplexDataGridView
Dentro de fontes de dados janela você pode definir o controle a ser criado antes de arrastar itens para seu formulário.
Para definir a tabela clientes para associar ao controle ComplexDataGridView
Abra Form1 no designer.
Expanda o clientes nó o fontes de dados janela.
Clique na seta suspensa no clientes nó e escolha Personalizar.
Selecione o ComplexDataGridView da lista de controles associados no Opções de personalização da interface do usuário de dados caixa de diálogo.
Clique na seta suspensa no
Customers
da tabela e escolha ComplexDataGridView na lista de controle.
Adicionando controles ao formulário
Você pode criar os controles associados a dados arrastando itens do fontes de dados window para seu formulário.
Para criar controles ligados a dados no formulário
- Arraste principal clientes nó a partir de fontes de dados window para o formulário e verifique o ComplexDataGridView controle é usado para exibir os dados da tabela.
Executando o aplicativo
Para executar o aplicativo
- Pressione F5 para executar o aplicativo.
Próximas etapas
Dependendo dos requisitos de aplicativo, há várias etapas que você pode desejar executar depois de criar um controle que oferece suporte a vinculação de dados. Algumas das próximas etapas típicas incluem:
Colocar os controles personalizados em uma biblioteca de controle para que você possa reutilizá-los em outros aplicativos.
Criando controles que suportam cenários de pesquisa. Para obter mais informações, consulte Criar um controle de usuário do Windows Forms que dá suporte à vinculação de dados de pesquisa.
Consulte também
Associar controles dos Windows Forms a dados no Visual Studio
Como definir o controle a ser criado quando arrastado da janela Fontes de Dados
Controles de Windows Forms