Como: Criar uma tabela de pesquisa para um Windows Forms ComboBox, ListBox, ou controle CheckedListBox
Às vezes é útil exibir dados em um formato amigável em um formulário do Windows, mas armazenar os dados em um formato que seja mais significativo para o seu programa. Por exemplo, um formulário de pedido de alimentos pode exibir os itens de menu por nome em uma caixa de listagem. No entanto, a tabela de dados, a ordem de gravação conteria os números de identificação exclusivos que representa a comida. As tabelas a seguir mostram um exemplo de como armazenar e exibir dados de formulário de pedido de alimentos.
OrderDetailsTable
Código Do Pedido |
ItemID |
Quantidade |
---|---|---|
4085 |
12 |
1 |
4086 |
13 |
3 |
ItemTable
ID |
Nome |
---|---|
12 |
Batata |
13 |
Frango |
Nesse cenário, uma tabela, OrderDetailsTable, armazena as informações reais que você está preocupado com a exibição e salvar. Mas, para economizar espaço, ele faz isso de maneira bastante complexa. Outra tabela, ItemTable, contém somente informações relacionadas a aparência sobre qual número de identificação é equivalente à qual nome de alimentos e ordens de nada sobre a comida real.
O ItemTable está conectado a ComboBox, ListBox, ou CheckedListBox controle por meio de três propriedades. O DataSource propriedade contém o nome da tabela. O DisplayMember propriedade contém a coluna de dados da tabela que você deseja exibir no controle (o nome de alimentos). O ValueMember propriedade contém a coluna de dados dessa tabela com as informações armazenadas (o número de identificação).
O OrderDetailsTable está conectado ao controle por sua coleção de ligações, acessada através do DataBindings propriedade. Quando você adiciona um objeto de vinculação à coleção, você conectar a uma propriedade de controle para um membro de dados específicos (a coluna de números de identificação) em uma fonte de dados (o OrderDetailsTable). Quando uma seleção é feita no controle, esta tabela é onde a entrada de formulário foi salvo.
Para criar uma tabela de pesquisa
Adicionar um ComboBox, ListBox, ou CheckedListBox o controle para o formulário.
Conectar-se à fonte de dados.
Estabelece uma relação entre duas tabelas de dados. Para obter mais informações, consulte Introdução aos objetos DataRelation e Introdução aos objetos DataRelation e Introdução aos objetos DataRelation e Introdução aos objetos DataRelation e Introdução a objetos DataRelation.
Defina as propriedades a seguintes. Pode ser definidas no código ou no designer.
Propriedade
Configuração
A tabela que contém informações sobre qual ID número equivale a qual item. No cenário anterior, isso é ItemTable.
A coluna da tabela de origem de dados que você deseja exibir no controle. No cenário anterior, isso é "Name" (para definir no código, use aspas).
A coluna da tabela de origem de dados que contém as informações armazenadas. No cenário anterior, isso é "ID" (para definir no código, use aspas).
Em um procedimento de chamada a Add método o ControlBindingsCollection classe para vincular o controle SelectedValue propriedade à tabela de gravação da entrada de formulário. Você também pode fazer isso no Designer, em vez de no código, acessando o controle DataBindings propriedade de Propriedades janela. No cenário anterior, isso é OrderDetailsTable, e a coluna é "ItemID".
ListBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID")
listBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID");
listBox1.get_DataBindings().Add("SelectedValue", OrderDetailsTable, "ItemID");
Consulte também
Referência
Visão geral do controle ListBox (Windows Forms)
Visão geral do controle ComboBox (Windows Forms)
Visão geral do controle CheckedListBox (Windows Forms)
Conceitos
Ligação de dados e o Windows Forms