Sdílet prostřednictvím


Vytvoření vazby ovládacích prvků model Windows Forms k datům v aplikacích rozhraní .NET Framework

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

Data můžete uživatelům aplikace zobrazit vazbou dat do model Windows Forms. Chcete-li vytvořit tyto ovládací prvky vázané na data, přetáhněte položky z okna Zdroje dat do návrháře model Windows Forms v sadě Visual Studio.

Data Source drag operation

Tip

Pokud okno Zdroje dat není viditelné, můžete ho otevřít tak, že zvolíte Zobrazit>jiné zdroje dat Windows>nebo stisknete klávesu Shift+Alt+D. Abyste viděli okno Zdroje dat, musíte mít otevřený projekt v sadě Visual Studio.

Před přetažením položek můžete nastavit typ ovládacího prvku, se který chcete svázat. Různé hodnoty se zobrazí v závislosti na tom, jestli zvolíte samotnou tabulku nebo jednotlivý sloupec. Můžete také nastavit vlastní hodnoty. U tabulky Podrobnosti znamená, že každý sloupec je vázán na samostatný ovládací prvek.

Bind data source to DataGridView

BindingSource a BindingNavigator – ovládací prvky

Komponenta BindingSource slouží ke dvěma účelům. Nejprve poskytuje vrstvu abstrakce při vazbě ovládacích prvků k datům. Ovládací prvky ve formuláři jsou vázané na komponentu BindingSource místo přímo ke zdroji dat. Za druhé může spravovat kolekci objektů. Přidání typu do seznamu BindingSource tohoto typu

Další informace o komponentě najdete tady BindingSource :

Ovládací prvek BindingNavigator poskytuje uživatelské rozhraní pro procházení dat zobrazených aplikací systému Windows.

Vytvoření vazby k datům v ovládacím prvku DataGridView

U ovládacího prvku DataGridView je celá tabulka svázaná s tímto jediným ovládacím prvku. Když přetáhnete DataGridView do formuláře, zobrazí se také pruh nástroje pro navigaci v záznamech (BindingNavigator). A DataSet, TableAdapter, BindingSourceand BindingNavigator appear in the component tray. Na následujícím obrázku je přidán také TableAdapterManager , protože tabulka Customers má relaci s tabulkou Orders. Všechny tyto proměnné jsou deklarovány v automaticky generovaném kódu jako soukromé členy ve třídě formuláře. Automaticky vygenerovaný kód pro vyplnění DataGridView se nachází v obslužné rutině Form_Load události. Kód pro uložení dat pro aktualizaci databáze se nachází v Save obslužné rutině události bindingNavigator. Tento kód můžete podle potřeby přesunout nebo upravit.

GridView with BindingNavigator

Chování Objektu DataGridView a BindingNavigator můžete přizpůsobit kliknutím na inteligentní značku v pravém horním rohu každého z nich:

DataGridView and Binding Navigator smart tags

Pokud ovládací prvky, které vaše aplikace potřebuje, nejsou v okně Zdroje dat k dispozici, můžete přidat ovládací prvky. Další informace naleznete v tématu Přidání vlastních ovládacích prvků do okna Zdroje dat.

Položky z okna Zdroje dat můžete také přetáhnout na ovládací prvky, které už jsou ve formuláři, a vytvořit vazbu ovládacího prvku na data. Ovládací prvek, který je již svázán s daty, má své datové vazby obnovit na položku naposledy přetaženou na ni. Aby byly platné cíle přetažení, musí být ovládací prvky schopné zobrazit podkladový datový typ položky přetažené do ní z okna Zdroje dat. Například není platné přetáhnout položku s datovým typem DateTime do objektu CheckBox, protože CheckBox není schopen zobrazit datum.

Vytvoření vazby k datům v jednotlivých ovládacích prvcích

Když svážete zdroj dat s podrobnostmi, každý sloupec v datové sadě je vázán na samostatný ovládací prvek.

Bind data source to details

Důležité

Všimněte si, že na předchozím obrázku přetáhnete z vlastnosti Objednávky tabulky Customers, nikoli z tabulky Objednávky. Vazbou na Customer.Orders vlastnost se navigační příkazy provedené v DataGridView projeví okamžitě v ovládacích prvcích podrobností. Pokud jste přetáhli z tabulky Orders, ovládací prvky budou stále svázané s datovou sadou, ale nebudou synchronizovány s DataGridView.

Následující obrázek znázorňuje výchozí ovládací prvky vázané na data, které jsou přidány do formuláře za vlastnost Orders v tabulce Customers je svázána s podrobnostmi v okně Zdroje dat.

Orders table bound to details

Všimněte si také, že každý ovládací prvek má inteligentní značku. Tato značka umožňuje přizpůsobení, která se vztahují pouze na tento ovládací prvek.