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

Nevázané

Nevázaný režim je vhodný pro zobrazení relativně malých objemů dat, která spravujete programově. Ovládací prvek nepřipojte DataGridView přímo ke zdroji dat jako v 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 model Windows Forms DataGridView ovládacího prvku.

Bound

Vázaný režim je vhodný pro správu dat pomocí automatické interakce s úložištěm dat. Ovládací prvek můžete připojit DataGridView přímo ke zdroji dat nastavením DataSource vlastnosti. Když je ovládací prvek svázán s daty, řádky dat se nasdílí a načítají bez nutnosti explicitní správy ve vaší části. AutoGenerateColumns Pokud je truetato vlastnost , 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 vlastnost a použít ji DataPropertyName k vytvoření vazby jednotlivých sloupců při 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 části Typy sloupců v ovládacím prvku model Windows Forms DataGridView.

Příklad, který používá vázané DataGridView ovládací prvek, viz Návod: Ověřování dat v ovládacím prvku model Windows Forms DataGridView ovládacího prvku.

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 připojíte DataGridView k mezipaměti, kterou spravujete, a ovládací prvky kódu, když se řádky dat nasdílí a načte. 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 model Windows Forms DataGridView. Příklad, který ukazuje použití událostí virtuálního režimu, viz Návod: Implementace virtuálního režimu v ovládacím prvku model Windows Forms DataGridView.

Viz také