Sdílet prostřednictvím


Postupy: Vytvoření vyhledávací tabulky pro ovládací prvek Windows Forms ComboBox, ListBox nebo CheckedListBox

Někdy je užitečné zobrazit data v uživatelsky přívětivějším formátu ve formuláři Windows Form, ale ukládat data ve formátu, který je pro váš program smysluplnější. Například formulář objednávky pro jídlo může zobrazit položky nabídky podle názvu v seznamu. Tabulka dat, která zaznamenává objednávku, by ale obsahovala jedinečná čísla ID představující jídlo. Následující tabulky ukazují příklad uložení a zobrazení dat formuláře objednávky pro potraviny.

Tabulka OrderDetailsTable

ID objednávky ID_položky Množství
4085 12 1
4086 13 3

Tabulka položek

Průkaz totožnosti Název
12 Brambor
13 Kuře

V tomto scénáři jedna tabulka OrderDetailsTable ukládá skutečné informace, které se týkají zobrazení a ukládání. Ale aby se ušetřilo místo, dělá to poměrně kryptografickým způsobem. Druhá tabulka ItemTable obsahuje pouze informace o tom, které ID číslo odpovídá názvu jídla, a nic o skutečných objednávkách potravin.

ItemTable je připojen k ComboBox, ListBox, nebo k ovládacímu prvku CheckedListBox prostřednictvím tří vlastností. Vlastnost DataSource obsahuje název této tabulky. Vlastnost DisplayMember obsahuje datový sloupec tabulky, který chcete zobrazit v ovládacím prvku (název potraviny). Vlastnost ValueMember obsahuje datový sloupec této tabulky s uloženými informacemi (číslo ID).

OrderDetailsTable je připojen k ovládacímu prvku přes svou vazební kolekci, přístup zajištěn prostřednictvím DataBindings vlastnosti. Když do kolekce přidáte objekt vazby, připojíte vlastnost ovládacího prvku ke konkrétnímu datovému členu (sloupec čísel ID) ve zdroji dat ( OrderDetailsTable). V této tabulce je uložen vstup formuláře, když je proveden výběr v ovládacím prvku.

Vytvoření vyhledávací tabulky

  1. Přidejte do formuláře ovládací prvek ComboBox, ListBox nebo CheckedListBox.

  2. Připojte se ke zdroji dat.

  3. Vytvořte relaci dat mezi těmito dvěma tabulkami. Viz Úvod k objektům DataRelation.

  4. Nastavte následující vlastnosti. Dají se nastavit v kódu nebo v návrháři.

    Vlastnictví Nastavení
    DataSource Tabulka, která obsahuje informace o tom, které číslo ID odpovídá které položce. V předchozím scénáři je to ItemTable.
    DisplayMember Sloupec tabulky zdroje dat, kterou chcete zobrazit v ovládacím prvku. V předchozím scénáři je to "Name" (k nastavení v kódu použijte uvozovky).
    ValueMember Sloupec tabulky zdroje dat, která obsahuje uložené informace. V předchozím scénáři je to "ID" (k nastavení v kódu použijte uvozovky).
  5. V procedurě zavolejte Add metodu ControlBindingsCollection třídy, která vytvoří vazbu vlastnosti ovládacího prvku SelectedValue na tabulku, která zaznamenává vstup formuláře. Můžete to také udělat v Návrháři místo v kódu tím, že přistoupíte k vlastnosti ovládacího prvku DataBindings v okně Vlastnosti. V předchozím scénáři je to OrderDetailsTable, a sloupec je "ItemID".

    ListBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID")
    
    listBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID");
    

Viz také