Sdílet prostřednictvím


Vytvoření uživatelského ovládacího prvku .NET Framework model Windows Forms, který podporuje vazbu vyhledávacích dat

Poznámka:

Datové sady a související třídy jsou staršími technologiemi rozhraní .NET Framework z počátku 2000, které aplikacím umožňují pracovat s daty v paměti, zatímco aplikace jsou odpojené od databáze. Tyto technologie jsou zvláště užitečné pro aplikace, které uživatelům umožňují upravovat data a uchovávat změny zpět do databáze. I když se datové sady ukázaly jako velmi úspěšná technologie, doporučujeme, aby nové aplikace .NET používaly Entity Framework Core. Entity Framework poskytuje přirozenější způsob práce s tabulkovými daty jako objektovými modely a má jednodušší programovací rozhraní.

Při zobrazení dat na model Windows Forms můžete zvolit existující ovládací prvky ze sady nástrojů nebo můžete vytvořit vlastní ovládací prvky, pokud vaše aplikace vyžaduje funkce, které nejsou dostupné ve standardních ovládacích prvcích. Tento návod ukazuje, jak vytvořit ovládací prvek, který implementuje LookupBindingPropertiesAttribute. Ovládací prvky, které implementují, LookupBindingPropertiesAttribute mohou obsahovat tři vlastnosti, které lze svázat s daty. Tyto ovládací prvky jsou podobné ComboBox.

Další informace o vytváření ovládacích prvků najdete v tématu Vývoj ovládacích prvků model Windows Forms v době návrhu.

Při vytváření ovládacíchprvkůch

Použití atributu datové vazby
Implementujte na DefaultBindingPropertyAttribute jednoduchých ovládacích prvcích, jako je například TextBox, který zobrazuje jeden sloupec (nebo vlastnost) dat. Další informace najdete v tématu Vytvoření model Windows Forms uživatelského ovládacího prvku, který podporuje jednoduchou datovou vazbu.
Implementujte ovládací ComplexBindingPropertiesAttribute prvky, jako je například DataGridView, zobrazující seznamy (nebo tabulky) dat. Další informace najdete v tématu Vytvoření model Windows Forms uživatelského ovládacího prvku, který podporuje složitou datovou vazbu.
LookupBindingPropertiesAttribute Implementujte ovládací prvky, jako je například ComboBox, které zobrazují seznamy (nebo tabulky) dat, ale také potřebují prezentovat jeden sloupec nebo vlastnost. (Tento proces je popsaný na této stránce návodu.)

Tento názorný postup vytvoří ovládací prvek vyhledávání, který vytvoří vazbu na data ze dvou tabulek. Tento příklad používá Customers tabulky z Orders ukázkové databáze Northwind. Vyhledávací ovládací prvek je svázán s polem CustomerID Orders z tabulky. Tato hodnota se používá k vyhledání CompanyName z Customers tabulky.

V tomto názorném postupu se naučíte:

  • Vytvořte novou aplikaci model Windows Forms (.NET Framework).

  • Přidejte do projektu nový uživatelský ovládací prvek .

  • Vizuální návrh uživatelského ovládacího prvku

  • Implementujte LookupBindingProperty atribut.

  • Vytvořte datovou sadu pomocí průvodce konfigurací zdroje dat.

  • Nastavte sloupec CustomerID v tabulce Objednávky v okně Zdroje dat tak, aby používal nový ovládací prvek.

  • Vytvořte formulář pro zobrazení dat v novém ovládacím prvku.

Požadavky

K dokončení tohoto kurzu potřebujete úlohy vývoje desktopových aplikací .NET a ukládání a zpracování dat nainstalované v sadě Visual Studio. Pokud je chcete nainstalovat, otevřete Instalační program pro Visual Studio a zvolte Upravit (nebo Další>úpravy) vedle verze sady Visual Studio, kterou chcete upravit. Viz Úprava sady Visual Studio.

Tento názorný postup používá SQL Server Express LocalDB a ukázkovou databázi Northwind.

  1. Pokud nemáte SQL Server Express LocalDB, nainstalujte ho buď ze stránky pro stažení SQL Serveru Express, nebo prostřednictvím Instalační program pro Visual Studio. V Instalační program pro Visual Studio můžete sql Server Express LocalDB nainstalovat jako součást úlohy ukládání a zpracování dat nebo jako jednotlivé komponenty.

  2. Následujícím postupem nainstalujte ukázkovou databázi Northwind:

    1. V sadě Visual Studio otevřete okno Průzkumník objektů SQL Serveru. (SQL Server Průzkumník objektů se instaluje jako součást úlohy ukládání a zpracování dat v Instalační program pro Visual Studio.) Rozbalte uzel SQL Serveru. Klikněte pravým tlačítkem na instanci LocalDB a vyberte Nový dotaz.

      Otevře se okno editoru dotazů.

    2. Zkopírujte do schránky skript Northwind Transact-SQL. Tento skript T-SQL vytvoří zcela novou databázi Northwind a naplní ji daty.

    3. Vložte skript T-SQL do editoru dotazů a pak zvolte tlačítko Spustit .

      Po krátké době se dotaz dokončí a vytvoří se databáze Northwind.

Vytvoření projektu aplikace model Windows Forms

Prvním krokem je vytvoření projektu aplikace model Windows Forms (.NET Framework).

  1. V sadě Visual Studio v nabídce Soubor vyberte Nový>projekt.

  2. V levém podokně rozbalte visual C# nebo Visual Basic a pak vyberte Plochu windows.

  3. V prostředním podokně vyberte typ projektu aplikace model Windows Forms.

  4. Pojmenujte projekt LookupControlWalkthrough a pak zvolte OK.

    Vytvoří se projekt LookupControlWalkthrough a přidá se do Průzkumník řešení.

Přidání uživatelského ovládacího prvku do projektu

Tento názorný postup vytvoří ovládací prvek vyhledávání z uživatelského ovládacího prvku, takže přidejte položku uživatelského ovládacího prvku do projektu LookupControlWalkthrough .

  1. V nabídce Projekt vyberte Přidat uživatelský ovládací prvek.

  2. Zadejte LookupBox do oblasti Název a pak vyberte Přidat.

    Do Průzkumník řešení se přidá ovládací prvek LookupBox a otevře se v návrháři.

Návrh ovládacího prvku LookupBox

Pokud chcete navrhnout ovládací prvek LookupBox, přetáhněte ComboBox z panelu nástrojů na návrhovou plochu uživatelského ovládacího prvku.

Přidání požadovaného atributu datové vazby

U ovládacích prvků vyhledávání, které podporují datové vazby, můžete implementovat LookupBindingPropertiesAttribute.

  1. Přepněte ovládací prvek LookupBox do zobrazení kódu. (Na kartě Zobrazit nabídku, zvolte Kód.)

  2. Nahraďte kód v následujícím LookupBox kódu:

    using System.Windows.Forms;
    
    namespace CS
    {
        [System.ComponentModel.LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "LookupMember")]
        public partial class LookupBox : UserControl
        {
            public object DataSource
            {
                get{ return comboBox1.DataSource; }
                set{ comboBox1.DataSource = value; }
            }
    
            public string DisplayMember
            {
                get{ return comboBox1.DisplayMember; }
                set{ comboBox1.DisplayMember = value; }
            }
    
            public string ValueMember
            {
                get{ return comboBox1.ValueMember; }
                set{ comboBox1.ValueMember = value; }
            }
    
            public string LookupMember
            {
                get{ return comboBox1.SelectedValue.ToString(); }
                set{ comboBox1.SelectedValue = value; }
            }
    
    
            public LookupBox()
            {
                InitializeComponent();
            }
        }
    }
    
  3. V nabídce Sestavení zvolte Sestavit řešení.

Vytvoření zdroje dat z databáze

Tento krok vytvoří zdroj dat pomocí průvodce konfigurací zdroje dat na Customers základě tabulek v Orders ukázkové databázi Northwind.

  1. Pokud chcete otevřít okno Zdroje dat, v nabídce Data klikněte na Zobrazit zdroje dat.

  2. V okně Zdroje dat vyberte Přidat nový zdroj dat a spusťte průvodce konfigurací zdroje dat.

  3. Na stránce Zvolit typ zdroje dat vyberte Databázi a pak vyberte Další.

  4. Na stránce Zvolit datové připojení proveďte jednu z následujících věcí:

    • Pokud je datové připojení k ukázkové databázi Northwind k dispozici v rozevíracím seznamu, vyberte ho.

    • Výběrem možnosti Nové připojení spusťte dialogové okno Přidat nebo upravit připojení .

  5. Pokud vaše databáze vyžaduje heslo, vyberte možnost zahrnout citlivá data a pak vyberte Další.

  6. Na stránce Uložit připojovací řetězec na konfigurační soubor aplikace klepněte na tlačítko Další.

  7. Na stránce Zvolit databázové objekty rozbalte uzel Tabulky.

  8. Vyberte tabulky Customers a Orders pak vyberte Dokončit.

    NorthwindDataSet se přidá do projektu a Customers Orders tabulky se zobrazí v okně Zdroje dat.

Nastavte sloupec CustomerID tabulky Orders tak, aby používal ovládací prvek LookupBox.

V okně Zdroje dat můžete nastavit, aby se ovládací prvek vytvořil před přetažením položek do formuláře.

  1. Otevřete formulář 1 v návrháři.

  2. Rozbalte uzel Zákazníci v okně Zdroje dat.

  3. Rozbalte uzel Objednávky (ten v uzlu Zákazníci pod sloupcem Fax).

  4. Klikněte na šipku rozevíracího seznamu na uzlu Objednávky a v seznamu ovládacích prvků zvolte Podrobnosti .

  5. Klikněte na šipku rozevíracího seznamu ve sloupci CustomerID (v uzlu Objednávky ) a zvolte Přizpůsobit.

  6. V dialogovém okně Možnosti přizpůsobení uživatelského rozhraní dat vyberte lookupBox ze seznamu přidružených ovládacích prvků.

  7. Klikněte na OK.

  8. Klikněte na šipku rozevíracího seznamu ve sloupci CustomerID a zvolte LookupBox.

Přidání ovládacích prvků do formuláře

Ovládací prvky vázané na data můžete vytvořit přetažením položek z okna Zdroje dat do formuláře Form1.

Chcete-li vytvořit ovládací prvky vázané na data ve formuláři Windows Form, přetáhněte uzel Objednávky z okna Zdroje dat do formuláře Windows a ověřte, zda je ovládací prvek LookupBox použit k zobrazení dat ve CustomerID sloupci.

Vytvoření vazby ovládacího prvku pro vyhledání CompanyName z tabulky Customers

Chcete-li nastavit vyhledávací vazby, vyberte hlavní uzel Zákazníci v okně Zdroje dat a přetáhněte ho do pole se seznamem v CustomerIDLookupBox ve formuláři Form1.

Tím se nastaví datová vazba tak, aby zobrazovala CompanyName z Customers tabulky a zachovala CustomerID hodnotu z Orders tabulky.

Spuštění aplikace

  • Stisknutím klávesy F5 spusťte aplikaci.

  • Procházejte některé záznamy a ověřte, že se CompanyName ovládací prvek zobrazuje LookupBox .