Sdílet prostřednictvím


Režimy zobrazení dat v ovládacím prvku Windows Forms DataGridView

Ovládací DataGridView prvek může zobrazit data ve třech různých režimech: vázané, nevázané a virtuální. Zvolte nejvhodnější režim na základě vašich požadavků.

Nespoutaný

Nevázaný režim je vhodný pro zobrazení relativně malých objemů dat, která spravujete programově. Ovládací prvek DataGridView nepřipojujte přímo ke zdroji dat, jako ve vázaném režimu. Místo toho musíte ovládací prvek naplnit sami, obvykle pomocí DataGridViewRowCollection.Add metody.

Nevázaný režim může být zvlášť užitečný pro statická data, data jen pro čtení nebo když chcete poskytnout vlastní kód, který komunikuje s externím úložištěm dat. Pokud ale chcete, aby vaši uživatelé komunikovali s externím zdrojem dat, obvykle použijete vázaný režim.

Příklad, který používá nevázaný DataGridViewjen pro čtení , viz Postupy: Vytvoření nevázaného ovládacího prvku Windows Forms DataGridView.

Vázaný

Vázaný režim je vhodný pro správu dat pomocí automatické interakce s úložištěm dat. Můžete připojit ovládací prvek DataGridView přímo ke zdroji dat tím, že nastavíte vlastnost DataSource. Když je ovládací prvek svázán s daty, řádky dat se přenáší a načítají bez nutnosti explicitní správy z vaší strany. Pokud je vlastnost AutoGenerateColumnstrue, každý sloupec ve zdroji dat způsobí, že se v ovládacím prvku vytvoří odpovídající sloupec. Pokud chcete vytvořit vlastní sloupce, můžete tuto vlastnost nastavit na false a použít vlastnost DataPropertyName k vytvoření vazby jednotlivých sloupců při jejich konfiguraci. To je užitečné, když chcete použít jiný typ sloupce než typy, které jsou ve výchozím nastavení generovány. Další informace naleznete v tématu typy sloupců v ovládacím prvku Windows Forms DataGridView.

Pokud chcete vidět příklad použití vázaného ovládacího prvku DataGridView, podívejte se na Návod: Ověřování dat v ovládacím prvku Windows Forms DataGridView.

Do ovládacího prvku v vázaném DataGridView režimu můžete také přidat nevázané sloupce. To je užitečné, když chcete zobrazit sloupec tlačítek nebo odkazů, které uživatelům umožňují provádět akce na konkrétních řádcích. Je také užitečné zobrazit sloupce s hodnotami vypočítanými z vázaných sloupců. Hodnoty buněk pro počítané sloupce můžete naplnit v obslužné rutině CellFormatting události. Pokud ale používáte DataSet zdroj dat nebo DataTable jako zdroj dat, můžete místo toho použít DataColumn.Expression vlastnost k vytvoření počítaného sloupce. V tomto případě DataGridView bude ovládací prvek zpracovávat počítaný sloupec stejně jako jakýkoli jiný sloupec ve zdroji dat.

Řazení podle nevázaných sloupců v režimu vazby se nepodporuje. Pokud vytvoříte nevázaný sloupec v vázaném režimu, který obsahuje hodnoty upravitelné uživatelem, je nutné implementovat virtuální režim pro zachování těchto hodnot při řazení ovládacího prvku podle vázaného sloupce.

Virtuální

S virtuálním režimem můžete implementovat vlastní operace správy dat. To je nezbytné k zachování hodnot nevázaných sloupců v vázaném režimu, pokud je ovládací prvek seřazen podle vázaných sloupců. Primárním použitím virtuálního režimu je ale optimalizace výkonu při interakci s velkými objemy dat.

Ovládací prvek DataGridView připojíte k mezipaměti, kterou spravujete, a váš kód určuje, kdy se řádky dat nasdílí a načtou. Aby paměť byla malá, mezipaměť by měla být podobná velikosti jako počet aktuálně zobrazených řádků. Když uživatel posune nové řádky do zobrazení, váš kód požádá o nová data z mezipaměti a volitelně vyprázdní stará data z paměti.

Při implementaci virtuálního režimu budete muset sledovat, kdy je v datovém modelu potřeba nový řádek a kdy vrátit přidání nového řádku zpět. Přesná implementace této funkce bude záviset na implementaci datového modelu a sémantice transakcí datového modelu; zda je obor potvrzení na úrovni buňky nebo řádku.

Další informace o virtuálním režimu naleznete v tématu Virtuální režim v ovládacím prvku Windows Forms DataGridView. Příklad, který ukazuje, jak používat události virtuálního režimu, viz Návod: Implementace virtuálního režimu v ovládacím prvku Windows Forms DataGridView.

Viz také