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.
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.
Následujícím postupem nainstalujte ukázkovou databázi Northwind:
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ů.
Zkopírujte do schránky skript Northwind Transact-SQL. Tento skript T-SQL vytvoří zcela novou databázi Northwind a naplní ji daty.
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).
V sadě Visual Studio v nabídce Soubor vyberte Nový>projekt.
V levém podokně rozbalte visual C# nebo Visual Basic a pak vyberte Plochu windows.
V prostředním podokně vyberte typ projektu aplikace model Windows Forms.
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 .
V nabídce Projekt vyberte Přidat uživatelský ovládací prvek.
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.
Přepněte ovládací prvek LookupBox do zobrazení kódu. (Na kartě Zobrazit nabídku, zvolte Kód.)
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(); } } }
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.
Pokud chcete otevřít okno Zdroje dat, v nabídce Data klikněte na Zobrazit zdroje dat.
V okně Zdroje dat vyberte Přidat nový zdroj dat a spusťte průvodce konfigurací zdroje dat.
Na stránce Zvolit typ zdroje dat vyberte Databázi a pak vyberte Další.
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í .
Pokud vaše databáze vyžaduje heslo, vyberte možnost zahrnout citlivá data a pak vyberte Další.
Na stránce Uložit připojovací řetězec na konfigurační soubor aplikace klepněte na tlačítko Další.
Na stránce Zvolit databázové objekty rozbalte uzel Tabulky.
Vyberte tabulky
Customers
aOrders
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.
Otevřete formulář 1 v návrháři.
Rozbalte uzel Zákazníci v okně Zdroje dat.
Rozbalte uzel Objednávky (ten v uzlu Zákazníci pod sloupcem Fax).
Klikněte na šipku rozevíracího seznamu na uzlu Objednávky a v seznamu ovládacích prvků zvolte Podrobnosti .
Klikněte na šipku rozevíracího seznamu ve sloupci CustomerID (v uzlu Objednávky ) a zvolte Přizpůsobit.
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ů.
Klikněte na OK.
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 zobrazujeLookupBox
.