Compartilhar via


Passo a passo: Criando um controle de usuário do Windows Forms que suporta a vinculação de dados complexos

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 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 do Windows Forms em tempo de Design.

Ao criar controles para uso em cenários de associação de dados será preciso implementar um dos seguintes atributos de associaçã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 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.(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 mais informações, consulte Passo a passo: Criando um controle de usuário do Windows Forms que suporta pesquisa de ligação de dados.

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 Data Source Configuration Wizard.

  • 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 mais informações, consulte Desenvolvendo aplicativos clientes.

    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. Digite ComplexDataGridView na área de Nome , clique em 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 associação de dados requerido

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

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 mais informações, consulte Adicionar/modificar a caixa de diálogo de conexão (geral).

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

  6. Clique em 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 Clientes para associação ao 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 associados a dados arrastando itens da janela Data Sources até seu formulário.

Para criar controles associados 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: definir o controle a ser criado ao arrastar da janela Data Sources

Conceitos

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.

Validação de dados

Salvar dados

Outros recursos

Controles do Windows Forms

Connecting to Data in Visual Studio