Compartilhar via


Instruções passo a passo: criando um controle de usuário dos Windows Forms que dá suporte à vinculação de dados complexos

Ao exibir dados em formulários nos aplicativos do Windows, você pode escolher os controles existentes da Caixa de Ferramentas ou criar controles personalizados se seu aplicativo exigir alguma funcionalidade que não esteja disponível nos controles padrão. Este passo a passo mostra como criar um controle que implementa o ComplexBindingPropertiesAttribute. Os controles que implementam o ComplexBindingPropertiesAttribute contêm uma propriedade de DataSource e DataMember 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 associação de dados, é necessário implementar um dos seguintes atributos de associação de dados:

Uso do atributo de associação de dados

Implemente o DefaultBindingPropertyAttribute em controles simples, como um TextBox, que exibe uma única coluna (ou propriedade) de dados. Para obter mais informações, consulte Instruções passo a passo: criando um controle de usuário dos Windows Forms que dá suporte à vinculação de dados simples.

Implemente o ComplexBindingPropertiesAttribute nos controles, como um DataGridView que exibe listas (ou tabelas) de dados. (Esse processo é descrito nesta página de passo a passo.)

Implemente o LookupBindingPropertiesAttribute nos controles, como um ComboBoxque exibe listas (ou tabelas) de dados, mas também precisa apresentar uma única coluna ou propriedade. Para obter mais informações, consulte Instruções passo a passo: criando um controle de usuário dos 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 a tabela Customers do banco de dados de exemplo Northwind. O controle de usuário complexo exibirá a tabela de clientes em uma DataGridView no controle personalizado.

Durante este passo a passo, você aprenderá a:

  • Criar um novo Aplicativo do Windows.

  • Adicionar um novo Controle de Usuário ao projeto.

  • Projetar visualmente o controle do usuário.

  • Implementar o atributo ComplexBindingProperty.

  • Criar um conjunto de dados com o Assistente para Configuração da Fonte de Dados.

  • Configurar a tabela Clientes na Janela Fontes de Dados para usar o novo controle complexo.

  • Adicionar o novo controle, arrastando-o da janela Fontes de Dados para Form1.

Pré-requisitos

Para concluir este passo a passo, você precisará de:

Criando um aplicativo do Windows

A primeira etapa é criar um Aplicativo do Windows.

Para criar o novo projeto do Windows

  1. No Visual Studio, no menu Arquivo, crie um novo Projeto.

  2. Nomeie o projeto como ComplexControlWalkthrough.

  3. Selecione Aplicativo do Windows e clique em OK. Para obter mais informações, consulte Implementando aplicativos cliente com o .NET Framework.

    O projeto ComplexControlWalkthrough é criado e adicionado ao Gerenciador de Soluções.

Adicionando um controle de usuário ao projeto

Como este passo a passo cria um controle associável a dados a partir de um Controle de Usuário, adicione um item de Controle de Usuário ao projeto.

Para adicionar um controle de usuário ao projeto

  1. No menu Projeto, escolha Adicionar Controle do Usuário.

  2. Digite ComplexDataGridView na área Nome e clique em Adicionar.

    O controle ComplexDataGridView é adicionado ao Gerenciador de Soluções e abre no designer.

Projetando o controle ComplexDataGridView

Esta etapa adiciona um DataGridView ao controle de usuário.

Para projetar o controle ComplexDataGridView

  • Arraste um DataGridView da Caixa de Ferramentas para a superfície de design do controle de usuário.

Adicionando o atributo obrigatório de associação de dados

Para controles complexos que suportam associação de dados, você pode implementar o ComplexBindingPropertiesAttribute.

Para implementar o atributo ComplexBindingProperties

  1. Alterne o controle ComplexDataGridView para exibição de código. (No menu Exibir, selecione Código.)

  2. Substitua o código no ComplexDataGridView pelo seguinte:

    <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
    
    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();
            }
        }
    }
    
  3. No menu Compilar, escolha Compilar Solução.

Criando uma fonte de dados a partir de seu banco de dados

Esta etapa usa o Assistente de Configuração de Fonte de Dados para criar uma fonte de dados com base na tabela Customers no banco de dados de exemplo Northwind. É preciso 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 Como instalar bancos de dados de exemplo.

Para criar a fonte de dados

  1. No menu Dados, clique em Mostrar Fontes de Dados.

  2. Na janela Fontes de Dados, selecione Adicionar Nova Fonte de Dados para iniciar o Assistente de Configuração de Fonte de Dados.

  3. Selecione Base de dados na página Escolher um Tipo de Fonte de Dados e, em seguida, clique em Próximo.

  4. Na página Escolha a Conexão de Dados, faça o seguinte:

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

      -ou-

    • Selecione Nova Conexão para iniciar a caixa Adicionar/Modificar Conexão.

  5. Se o banco de dados exigir uma senha, selecione a opção para incluir dados confidenciais e, em seguida, clique em Próximo.

  6. Clique em Avançar na página Salvar cadeia de caracteres de conexão no arquivo de configuração do aplicativo.

  7. Expanda o nó Tabelas na página Escolher Objetos do Banco de Dados.

  8. Selecione a tabela e clique em Concluir.

    O NorthwindDataSet é adicionado ao projeto e a tabela Customers aparece na janela Fontes de Dados.

Configurando a tabela Clientes para usar o controle ComplexDataGridView

Na janela Fontes de Dados, você pode definir o controle a ser criado antes de arrastar itens para seu formulário.

Para configurar a coluna Clientes para se associar ao controle ComplexDataGridView

  1. Abra Form1 no designer.

  2. Expanda o nó Clientes na janela Fontes de Dados.

  3. Clique na seta suspensa no nó Clientes e escolha Personalizar.

  4. Selecione ComplexDataGridView na lista de Controles Associados na caixa de diálogo Opções de Personalização da IU de Dados.

  5. Clique na seta suspensa na tabela Customers e escolha ComplexDataGridView na lista de controle.

Adicionando controles ao formulário

Você pode criar controles de associação de dados arrastando itens da janela Fontes de Dados para um formulário.

Para criar controles de associação de dados no formulário

  • Arraste o nó principal Clientes da janela Fontes de Dados para o formulário e verifique se o controle ComplexDataGridView é usado para exibir dados na coluna.

Executando o aplicativo

Para executar o aplicativo

  • Pressione F5 para executar o aplicativo.

Próximas etapas

Dependendo dos requisitos do aplicativo, existem várias etapas que você pode realizar após criar um controle com suporte a associação de dados. Algumas etapas seguintes típicas incluem:

Consulte também

Tarefas

Como definir o controle a ser criado quando arrastado da janela Fontes de Dados

Conceitos

Associando controles dos Windows Forms a dados no Visual Studio

Preparando o aplicativo para receber dados

Buscando dados no aplicativo

Associando controles a dados no Visual Studio

Editando dados no aplicativo

Validando dados

Salvando dados

Outros recursos

Controles de Windows Forms

Conectando a dados no Visual Studio