Demonstra Passo a passo: Criando um controle de usuário que suporta Complex dados Binding

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ão disponíveis nos controles padrão.Essa explicação passo a passo mostra como criar um controle que implementa o ComplexBindingPropertiesAttribute.Controles que implementam o ComplexBindingPropertiesAttribute contêm uma propriedade DataSource e DataMember que podem ser vinculadas a dados.Tais controles são semelhantes a um DataGridView ou ListBox.

Para obter mais informações sobre criação de controle, consulte Desenvolver Windows Forms Controls at Design Time.

Ao criar controles para uso em cenários de ligação de dados será preciso implementar um dos seguintes atributos de vinculação de dados:

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 Demonstra Passo a passo: Criar um controle de usuário que suporta simples vinculação de dados.

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

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.Para obter mais informações, consulte Demonstra Passo a passo: Criando a usuário controle that Supports Lookup Databinding.

Esta explicação passo a passo cria um controle que exibe linhas de dados de uma tabela complexa.Este exemplo usa a tabela Customers do banco de dados de exemplo Northwind.O controle de usuário complexo exibirá a tabela clientes em um DataGridView no controle personalizado.

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 ComplexBindingProperty.

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

  • Defina a tabela Customers em Janela Fontes de Dados para usar o novo controle complexo.

  • Adicionar o novo controle, arrastando o Data Sources Window no Form1.

Pré-requisitos

A fim de concluir este explicação passo a passo, será necessário:

Criando um Aplicativo Windows

A primeira etapa é criar um Windows Application.

Para criar o novo projeto Windows

  1. No Visual Studio, a partir do menu File, crie um novo Project.

  2. Nomeie o projeto como ComplexControlWalkthrough.

  3. Selecione Windows Application e clique em OK.Para obter mais informações, consulte Criando Aplicativos Baseados no Windows.

    O projeto ComplexControlWalkthrough é criado e adicionado Solution Explorer.

Adicionar um controle de usuário ao projeto

Devido esta explicação passo a passo criar um controle de ligação de dados complexa do User Control, você deve adicionar um item User Control no projeto

Para adicionar um controle de usuário ao projeto

  1. No menu Project, escolha Add User Control.

  2. Tipo ComplexDataGridView no Nome área e, em seguida, clicar Adicionar.

    O controle ComplexDataGridView é adicionado ao 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 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 ComplexBindingPropertiesAttribute.

Para implementar o atributo ComplexBindingProperties

  1. Alterne o controle ComplexDataGridView para modo de exibição do Código.(No menu View, selecione Code.)

  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 Build, escolha Build Solution.

Crie uma fonte de dados no seu banco de dados

Esse passo usa o Data Source Configuration Wizard para criar uma fonte de dados com base na tabela Customers no banco de dados de exemplo 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 exemplo.

Para criar a fonte de dados

  1. No menu Data, clique em Show Data Sources.

  2. Na janela Data Sources, selecione Add New Data Source para iniciar o Data Source Configuration Wizard.

  3. Selecione Database na página Choose a Data Source Type, e clique Next.

  4. 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 Conexão Caixa de diálogo Box (Geral).

  5. Se seu banco de dados exigir uma senha, selecione a opção para incluir dados confidenciais, e clique Next.

  6. Clique Next na página Save connection string to the Application Configuration file.

  7. Expanda o nó Tables na página Choose your Database Objects.

  8. Selecione a tabela Customers, e clique em Finish.

    O NorthwindDataSet é adicionado ao seu projeto e a tabela Customers aparece na janela Data Sources.

Definindo a tabela de Clientes para usar o controle ComplexDataGridView

Dentro da janela Data Sources você pode definir o controle a ser criado, antes de arrastar itens para seu formulário.

Para definir a tabela de Clientes como vinculo do controle ComplexDataGridView

  1. Abra o Form1 no designer.

  2. Expanda o nó Customers na janela Data Sources.

  3. Clique na seta suspensa no nó Customers e escolha Customize.

  4. No ComplexDataGridView selecione da lista de Associated Controls na caixa de diálogo Data UI Customization Options.

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

Adicionar os controles ao formulário

Você pode criar os controles com dados vinculados, arrastando itens da janela Data Sources para seu formulário.

Para criar controles vinculado a dados no formulário

  • Arraste o nó principal Customers da janela Data Sources para o formulário e verifique que o controle ComplexDataGridView é 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 seu aplicativo, há várias etapas que você pode desejar executar depois de criar um controle que suporta ligação de dados.Algumas próximas etapas típicas incluem:

Consulte também

Tarefas

Como: conjunto o controle to be Created when Dragging from the dados Sources janela

Conceitos

Exibindo visão geral de dados

Outros recursos

Controles de Windows Forms

Conectando-se a Dados no Visual Studio

Preparando seu aplicativo para receber dados

Buscando dados em seu aplicativo

Exibindo dados em formulários em aplicativos do Windows

Editar dados no seu aplicativo

Validando Dados

Salvando dados