Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A DataSet classe e as classes relacionadas são tecnologias herdadas do .NET Framework do início dos anos 2000 que permitem que os aplicativos trabalhem com dados na memória enquanto os aplicativos estão desconectados do banco de dados. As tecnologias são especialmente úteis para aplicativos que permitem aos usuários modificar dados e manter as alterações de volta ao banco de dados. Embora os conjuntos de dados sejam uma tecnologia comprovadamente bem-sucedida, a abordagem recomendada para novos aplicativos .NET é usar o Entity Framework Core. O Entity Framework fornece uma maneira mais natural de trabalhar com dados tabulares como modelos de objeto e tem uma interface de programação mais simples.
Ao exibir dados em formulários em aplicativos do Windows, você pode escolher controles existentes na Caixa de Ferramentas. 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 uma propriedade DataSource e uma propriedade DataMember que podem ser associadas a dados. Esses controlos são semelhantes a um DataGridView ou ListBox.
Para obter mais informações sobre a criação de controles, consulte Desenvolvendo controles do Windows Forms em tempo de design.
Ao criar controles para uso em cenários de vinculação de dados, você precisa implementar um dos seguintes atributos de vinculação de dados:
| Uso de atributos de vinculação de dados |
|---|
| Implemente o DefaultBindingPropertyAttribute em controlos 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 ofereça suporte à vinculação de dados simples. |
| Implemente o ComplexBindingPropertiesAttribute em controlos, como um DataGridView, que mostrem listas (ou tabelas) de dados. (Este processo é descrito nesta página passo a passo.) |
| Implemente nos LookupBindingPropertiesAttribute nos controlos, como um ComboBox, que exibem listas (ou tabelas) de dados, mas também precisam apresentar uma única coluna ou propriedade. Para obter mais informações, consulte Criar um controle de usuário do Windows Forms que ofereça suporte à associaçã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 controlo de utilizador complexo exibirá a tabela de clientes em um DataGridView no controlo personalizado.
Durante este passo a passo, você aprenderá a:
Adicione um novo Controle de Usuário ao seu projeto.
Projete visualmente o controle de usuário.
Implemente o
ComplexBindingPropertyatributo.Crie um conjunto de dados com o Assistente de Configuração da Fonte de Dados.
Defina a tabela Clientes na janela Fontes de Dados para usar o novo controle complexo.
Adicione o novo controle arrastando-o da janela Fontes de dados para o Form1.
Pré-requisitos
Para concluir este tutorial, você precisa do desenvolvimento da área de trabalho .NET e das cargas de trabalho de armazenamento e processamento de dados instaladas no Visual Studio. Para instalá-los, abra Visual Studio Installer e escolha Modificar (ou Mais>Modificar) ao lado da versão do Visual Studio que você deseja modificar. Consulte Modificar o Visual Studio.
Este passo a passo usa o SQL Server Express LocalDB e o banco de dados de exemplo Northwind.
Se você não tiver o SQL Server Express LocalDB, instale-o na página de download do SQL Server Express ou por meio do Visual Studio Installer. No Visual Studio Installer, você pode instalar o SQL Server Express LocalDB como parte do Armazenamento e processamento de dados carga de trabalho ou como um componente individual.
Instale o banco de dados de exemplo Northwind seguindo estas etapas:
No Visual Studio, abra a janela do Pesquisador de Objetos do SQL Server. (O Pesquisador de Objetos do SQL Server é instalado como parte da carga de trabalho de armazenamento e processamento de dados no Visual Studio Installer.) Expanda o nó SQL Server. Clique com o botão direito do mouse em sua instância LocalDB e selecione New Query.
Uma janela do editor de consultas é aberta.
Copie o script Northwind Transact-SQL para a área de transferência. Este script T-SQL cria o banco de dados Northwind do zero e o preenche com dados.
Cole o script T-SQL no editor de consultas e depois escolha o botão Executar.
Após um curto período de tempo, a consulta termina de ser executada e o banco de dados Northwind é criado.
Criar um projeto de aplicativo do Windows Forms
A primeira etapa é criar um projeto do Windows Forms App para C# ou Visual Basic. Nomeie o projeto ComplexControlWalkthrough.
Adicionar um controle de usuário ao projeto
Como este passo a passo cria um controle complexo vinculável a dados de um Controle de Usuário, adicione um item de Controle de Usuário ao projeto:
No menu Projeto , escolha Adicionar controle de usuário.
Digite ComplexDataGridView na área Nome e selecione Adicionar.
O controle ComplexDataGridView é adicionado ao Gerenciador de Soluções e é aberto no designer.
Projetar o controle ComplexDataGridView
Para adicionar um DataGridView ao controle de usuário, arraste um DataGridView da Caixa de Ferramentas para a superfície de design do controle de usuário.
Adicionar o atributo de vinculação de dados necessário
Para controles complexos que oferecem suporte à vinculação de dados, você pode implementar o ComplexBindingPropertiesAttribute:
Alterne o controle ComplexDataGridView para a visualização de código. (No menu Exibir , selecione Código.)
Substitua o código no
ComplexDataGridViewpor 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(); } } }No menu Build , escolha Build Solution.
Criar uma fonte de dados a partir do seu banco de dados
Use o assistente Configuração da Fonte de Dados para criar uma fonte de dados com base na Customers tabela no banco de dados de exemplo Northwind:
Para abrir a janela Fontes de Dados , no menu Dados , clique em Mostrar Fontes de Dados.
Na janela Fontes de Dados , selecione Adicionar Nova Fonte de Dados para iniciar o assistente de Configuração da Fonte de Dados .
Selecione Banco de Dados na página Escolha um Tipo de Fonte de Dados e, em seguida, selecione Avançar.
Na página Escolha sua Conexão de Dados , siga um destes procedimentos:
Se uma conexão de dados com o banco de dados de exemplo Northwind estiver disponível na lista suspensa, selecione-a.
Selecione Nova Conexão para iniciar a caixa de diálogo Adicionar/Modificar Conexão .
Se o banco de dados exigir uma senha, selecione a opção para incluir dados confidenciais e selecione Avançar.
Na página Salvar cadeia de conexão no arquivo de configuração do aplicativo , clique em Avançar.
Na página Escolha os Objetos de Base de Dados, expanda o nó Tabelas.
Selecione a
Customerstabela e, em seguida, selecione Concluir.O NorthwindDataSet é adicionado ao seu projeto e a
Customerstabela aparece na janela Data Sources .
Definir a tabela Customers para usar o controle ComplexDataGridView
Na janela Fontes de Dados , você pode definir o controle a ser criado antes de arrastar itens para o formulário:
Abra o Formulário1 no designer.
Expanda o nó Clientes na janela Fontes de Dados.
Clique na seta da lista suspensa no nó Clientes e escolha Personalizar.
Selecione ComplexDataGridView na lista de Controles Associados na caixa de diálogo Opções de Personalização da Interface do Usuário de Dados .
Clique na seta da
Customerslista suspensa na tabela e escolha ComplexDataGridView na lista de controle.
Adicionar controles ao formulário
Você pode criar os controles associados a dados arrastando itens da janela Fontes de Dados para o formulário. Arraste o nó principal Clientes da janela Fontes de Dados para o formulário. Verifique se o controle ComplexDataGridView é usado para exibir os dados da tabela.
Execute o aplicativo
Pressione F5 para executar o aplicativo.
Próximos passos
Dependendo dos requisitos do seu aplicativo, há várias etapas que você pode querer executar depois de criar um controle que ofereça suporte à vinculação de dados. Alguns passos seguintes típicos incluem:
Colocando seus controles personalizados em uma biblioteca de controle para que você possa reutilizá-los em outros aplicativos.
Criação de controles que suportam cenários de pesquisa. Para obter mais informações, consulte Criar um controle de usuário do Windows Forms que ofereça suporte à associação de dados de pesquisa.