Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você 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 são desconectados do banco de dados. As tecnologias são especialmente úteis para aplicativos que permitem que os usuários modifiquem dados e persistam as alterações no 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 no Windows Forms, você pode escolher controles existentes na Caixa de Ferramentas ou criar controles personalizados se o aplicativo exigir funcionalidade não disponível nos controles padrão. Este passo a passo mostra como criar um controle que implementa o LookupBindingPropertiesAttribute. Os controles que implementam o LookupBindingPropertiesAttribute podem conter três propriedades que podem ser associadas a dados. Esses controles são semelhantes a um ComboBox.
Para obter mais informações sobre a 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, você precisa implementar um dos seguintes atributos de associação de dados:
| Uso de atributo de associação de dados |
|---|
| Implemente DefaultBindingPropertyAttribute em controles simples, como um TextBox, que exibem 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 à associação de dados simples. |
| Implemente o ComplexBindingPropertiesAttribute nos controles, como um DataGridView, que exibem listas (ou tabelas) de dados. Para obter mais informações, consulte Criar um controle de usuário do Windows Forms que dê suporte à associação de dados complexa. |
| Implemente os LookupBindingPropertiesAttribute nos controles, como ComboBox, que exibem listas (ou tabelas) de dados, mas também precisam apresentar uma única coluna ou propriedade. (Esse processo é descrito nesta página passo a passo.) |
Este passo a passo cria um controle de pesquisa que se vincula a dados de duas tabelas. Este exemplo usa as tabelas Customers e Orders do banco de dados de exemplo Northwind. O controle de pesquisa está associado ao CustomerID campo da Orders tabela. Ele usa esse valor para procurar CompanyName na tabela Customers.
Durante este passo a passo, você aprenderá a:
Crie um novo aplicativo do Windows Forms (.NET Framework).
Adicione um novo Controle de Usuário ao seu projeto.
Projete visualmente o controle do usuário.
Implemente o
LookupBindingPropertyatributo.Crie um conjunto de dados com o assistente de Configuração da Fonte de Dados .
Defina a coluna CustomerID na tabela Pedidos , na janela Fontes de Dados , para usar o novo controle.
Crie um formulário para exibir dados no novo controle.
Pré-requisitos
Para concluir este tutorial, você precisa das cargas de trabalho de desenvolvimento e armazenamento e processamento de dados do .NET instaladas no Visual Studio. Para instalá-los, abra do Instalador do Visual Studio e escolha Modificar (ou Mais>Modificar) ao lado da versão do Visual Studio que você deseja modificar. Confira 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 Instalador do Visual Studio. No Instalador do Visual Studio, você pode instalar o SQL Server Express LocalDB como parte da carga de trabalho Armazenamento e processamento de dados ou como um componente individual.
Instale o banco de dados de exemplo Northwind seguindo estas etapas:
No Visual Studio, abra a janela 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 Instalador do Visual Studio.) Expanda o nó do SQL Server . Clique com o botão direito do mouse na instância do LocalDB e selecione Nova Consulta.
Uma janela do editor de consultas é aberta.
Copie o script Transact-SQL da Northwind para sua área de transferência. Esse 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, em seguida, 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 Aplicativo Windows Forms (.NET Framework ).
No Visual Studio, no menu Arquivo, selecione Novo>Projeto.
Expanda o Visual C# ou o Visual Basic no painel esquerdo e selecione a Área de Trabalho do Windows.
No painel do meio, selecione o tipo de projeto de Aplicativo do Windows Forms .
Nomeie o projeto LookupControlWalkthrough e escolha OK.
O projeto LookupControlWalkthrough é criado e adicionado ao Gerenciador de Soluções.
Adicionar um controle de usuário ao projeto
Este passo a passo cria um controle de pesquisa a partir de um Controle de Usuário, portanto, adicione um Controle de Usuário ao item do projeto LookupControlWalkthrough.
No menu Projeto , selecione Adicionar Controle de Usuário.
Digite
LookupBoxa área Nome e, em seguida, selecione Adicionar.O controle LookupBox é adicionado ao Gerenciador de Soluções e é aberto no designer.
Projetar o controle LookupBox
Para projetar o controle LookupBox, arraste um ComboBox da Caixa de Ferramentas para a superfície de design do controle de usuário.
Adicionar o atributo de associação de dados necessário
Para controles de pesquisa que dão suporte à associação de dados, você pode implementar o LookupBindingPropertiesAttribute.
Alterne o controle LookupBox para o modo de exibição de código. (No menu Exibir , escolha Código.)
Substitua o código pelo
LookupBoxseguinte:using System.Windows.Forms; namespace CS { [System.ComponentModel.LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "LookupMember")] public partial class LookupBox : UserControl { public object DataSource { get{ return comboBox1.DataSource; } set{ comboBox1.DataSource = value; } } public string DisplayMember { get{ return comboBox1.DisplayMember; } set{ comboBox1.DisplayMember = value; } } public string ValueMember { get{ return comboBox1.ValueMember; } set{ comboBox1.ValueMember = value; } } public string LookupMember { get{ return comboBox1.SelectedValue.ToString(); } set{ comboBox1.SelectedValue = value; } } public LookupBox() { InitializeComponent(); } } }No menu Compilar , escolha Criar Solução.
Criar uma fonte de dados a partir do seu banco de dados
Esta etapa cria uma fonte de dados usando o assistente de Configuração da Fonte de Dados, com base nas tabelas Customers e Orders 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 Escolher um Tipo de Fonte de Dados e selecione Avançar.
Na página Escolher 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 string de conexão no arquivo de configuração do aplicativo, clique em Avançar.
Expanda o nó Tabelas na página Escolher Objetos do Banco de Dados.
Selecione as tabelas
CustomerseOrders, e em seguida, selecione Concluir.O NorthwindDataSet é adicionado ao seu projeto, e as tabelas
CustomerseOrdersaparecem na janela Fontes de Dados.
Definir a coluna CustomerID da tabela Pedidos para usar o controle LookupBox
Na janela Fontes de Dados , você pode definir o controle a ser criado antes de arrastar itens para o formulário.
Abra Form1 no designer.
Expanda o nó Clientes na janela Fontes de Dados.
Expanda o nó Pedidos (no nó Clientes abaixo da coluna Fax).
Clique na seta suspensa no nó Pedidos e escolha Detalhes na lista de controle.
Clique na seta da lista suspensa na coluna CustomerID (no nó Pedidos) e escolha Personalizar.
Selecione a LookupBox na lista de Controles Associados na caixa de diálogo Opções de Personalização da Interface do Usuário de Dados.
Clique em OK.
Clique na seta da lista suspensa na coluna CustomerID e escolha LookupBox.
Adicionar controles ao formulário
Você pode criar os controles associados a dados arrastando itens da janela Fontes de Dados para o Form1.
Para criar controles associados a dados no Formulário do Windows, arraste o nó Pedidos da janela Fontes de Dados para o Formulário do Windows e verifique se o controle LookupBox é usado para exibir os dados na CustomerID coluna.
Associar o controle para pesquisar CompanyName na tabela Clientes
Para configurar as associações de pesquisa, selecione o nó principal Clientes na janela Fonte de Dados e arraste-o para a caixa de combinação em CustomerIDLookupBox no Form1.
Isso configura a associação de dados para exibir o CompanyName da tabela Customers, mantendo o valor CustomerID da tabela Orders.
Executar o aplicativo
Pressione F5 para executar o aplicativo.
Navegue por alguns registros e verifique se o
CompanyNameaparece no controleLookupBox.