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

OrderID ItemID Množství
4085 12 0
4086 13 3

ItemTable

ID Name
12 Brambor
13 Kuřecí

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, ListBoxnebo CheckedListBox ovládací prvek 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 pomocí své vazby kolekce, přístup 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). Při výběru v ovládacím prvku je tato tabulka, kde je uložen vstup formuláře.

Vytvoření vyhledávací tabulky

  1. Umožňuje přidat do ComboBoxformuláře ovládací prvek , ListBoxnebo CheckedListBox ovládací prvek.

  2. Připojení 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.

    Vlastnost Nastavení
    DataSource Tabulka, která obsahuje informace o tom, které číslo ID odpovídá které položce. V předchozím scénáři je ItemTableto .
    DisplayMember Sloupec tabulky zdroje dat, kterou chcete zobrazit v ovládacím prvku. V předchozím scénáři je "Name" to (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 "ID" to (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, přístup k vlastnosti ovládacího prvku DataBindings v okně Vlastnosti . V předchozím scénáři je OrderDetailsTableto a sloupec je "ItemID".

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

Viz také