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

  1. Adicionar um ComboBox, ListBox, ou CheckedListBox controle ao formulário.

  2. Conectar-se à sua fonte de dados.

  3. Estabeleça a relação entre duas tabelas de dados.

  4. Defina as propriedades a seguir.Eles podem ser conjunto no código ou no designer.

    Propriedade

    Configuração

    DataSource

    A tabela que contém informações sobre qual ID número equivale a qual item.No cenário anterior, isso é ItemTable.

    DisplayMember

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

    ValueMember

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

  5. 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)

Outros recursos

Usado para opções da lista de controles do Windows Forms