Como: Criar uma tabela de pesquisa para um Windows Forms ComboBox, ListBox ou CheckedListBox controle
Às vezes é útil exibir dados em um formato amigável em um Windows formulário, 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 deve conter os números de ID 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 real que você está preocupado com a exibição e salvar.Mas, para economizar espaço, ele faz isso de maneira bastante confusos.A tabela Outros, ItemTable, contém apenas informações relacionadas à aparência sobre qual número de ID é equivalente a qual nome de alimentos e nada sobre a comida real ordens.
O ItemTable está conectado o ComboBox, ListBox, ou CheckedListBox controle por meio de três propriedades. The DataSource propriedade contém o nome desta tabela. The DisplayMember propriedade contém a coluna de dados dessa tabela que você deseja exibir no controle (o nome de alimentos). The ValueMember propriedade contém a coluna de dados do que tabela com as informações armazenadas (o número de ID).
O OrderDetailsTable conectada com o controle por sua coleção de ligações, acessada por meio de DataBindings propriedade. Quando você adiciona um objeto de associação à coleção, você conectar-se uma propriedade de controle a um membro de dados específicos (a coluna de números de ID) em uma fonte de dados (o OrderDetailsTable).Quando é feita uma seleção no controle, esta tabela é onde a entrada de formulário foi salvo.
Para criar uma tabela de pesquisa
Adicionar um ComboBox, ListBox, ou CheckedListBox controle ao formulário.
Conectar-se à sua fonte de dados.
Estabeleça a relação entre duas tabelas de dados.
Defina as propriedades a seguir.Eles podem ser conjunto 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 fonte de dados que você deseja exibir no controle.No cenário anterior, isso é "Name" (para conjunto em código, use aspas).
A coluna da tabela de fonte de dados que contém as informações armazenadas.No cenário anterior, isso é "ID" (para conjunto em código, use aspas).
Em um procedimento, chamar o Add método para o ControlBindingsCollection classe para BIND o controle SelectedValue propriedade à tabela de gravar a entrada de formulário. Você também pode fazer isso no Designer, em vez de no código, acessando DataBindings propriedade no 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
Conceitos
Ligação de dados e o Windows Forms
Referência
ListBox controle visão geral (Windows Forms)
Visão geral do ComboBox controle (Windows Forms)
Controle CheckedListBox visão geral (Windows Forms)