Sdílet prostřednictvím


Architektura ovládacího prvku DataGridView (Windows Forms)

Ovládací prvek DataGridView a související třídy jsou navrženy jako flexibilní rozšiřitelný systém pro zobrazení a úpravy tabulkových dat. Všechny tyto třídy jsou obsaženy v oboru názvů System.Windows.Forms a všechny jsou pojmenovány s předponou "DataGridView".

Prvky architektury

Primární DataGridView doprovodné třídy jsou odvozeny od DataGridViewElement. Následující objektový model znázorňuje hierarchii dědičnosti DataGridViewElement.

Diagram znázorňující hierarchii objektového modelu DataGridViewElement

Třída DataGridViewElement poskytuje odkaz na nadřazený DataGridView ovládací prvek a má State vlastnost, která obsahuje hodnotu, která představuje kombinaci hodnot z DataGridViewElementStates výčtu.

V následujících částech najdete podrobnější popis DataGridView doprovodných tříd.

DataGridViewElementStates

Výčet DataGridViewElementStates obsahuje následující hodnoty:

Hodnoty tohoto výčtu lze kombinovat s bitovými logickými operátory, takže vlastnost State může vyjádřit více než jeden stav najednou. Například DataGridViewElement může být současně Frozen, Selecteda Visible.

Buňky a pásma

Ovládací prvek DataGridView se skládá ze dvou základních druhů objektů: buněk a pásem. Všechny buňky jsou odvozeny od DataGridViewCell základní třídy. Dva druhy pásem, DataGridViewColumn a DataGridViewRow, jsou odvozeny od DataGridViewBand základní třídy.

Ovládací prvek DataGridView spolupracuje s několika třídami, ale nejčastěji se vyskytují DataGridViewCell, DataGridViewColumna DataGridViewRow.

DataGridViewCell

Buňka je základní jednotkou interakce pro DataGridView. Zobrazení se zacentruje na buňky a zadávání dat se často provádí prostřednictvím buněk. K buňkám můžete přistupovat pomocí Cells kolekce třídy DataGridViewRow a k vybraným buňkám se dostanete pomocí kolekce SelectedCells ovládacího prvku DataGridView. Následující objektový model znázorňuje toto použití a ukazuje hierarchii dědičnosti DataGridViewCell.

Diagram znázorňující hierarchii objektového modelu DataGridViewCell

Typ DataGridViewCell je abstraktní základní třída, ze které jsou odvozeny všechny typy buněk. DataGridViewCell a jeho odvozené typy nejsou ovládací prvky Windows Forms, ale některé hostují ovládací prvky Windows Forms. Všechny funkce úprav podporované buňkou obvykle zpracovává hostovaný ovládací prvek.

DataGridViewCell objekty neřídí svůj vzhled ani kreslicí funkce stejným způsobem jako ovládací prvky Windows Forms. Místo toho DataGridView zodpovídá za vzhled svých DataGridViewCell objektů. Vzhled a chování buněk můžete výrazně ovlivnit interakcí s vlastnostmi a událostmi ovládacího prvku DataGridView. Pokud máte zvláštní požadavky na přizpůsobení, které jsou nad rámec možností ovládacího prvku DataGridView, můžete implementovat vlastní třídu odvozenou z DataGridViewCell nebo jedné z jejích podřízených tříd.

Následující seznam ukazuje třídy odvozené z DataGridViewCell:

DataGridViewColumn

Schéma připojeného úložiště dat ovládacího prvku DataGridView se vyjadřuje ve sloupcích ovládacího prvku DataGridView. Ke sloupcům ovládacího prvku DataGridView se dostanete pomocí kolekce Columns. K vybraným sloupcům můžete přistupovat pomocí kolekce SelectedColumns. Následující objektový model znázorňuje toto použití a ukazuje hierarchii dědičnosti DataGridViewColumn.

Diagram znázorňující hierarchii objektového modelu DataGridViewColumn

Některé z klíčových typů buněk mají odpovídající typy sloupců. Jsou odvozeny z DataGridViewColumn základní třídy.

Následující seznam ukazuje třídy odvozené z DataGridViewColumn:

Ovládací prvky pro úpravy DataGridView

Buňky, které podporují pokročilé funkce úprav, obvykle používají hostovaný ovládací prvek odvozený z ovládacího prvku Windows Forms. Tyto ovládací prvky také implementují rozhraní IDataGridViewEditingControl. Následující objektový model znázorňuje použití těchto ovládacích prvků.

diagram zobrazující hierarchii modelu řídicího objektu DataGridView.

Následující ovládací prvky pro úpravy jsou k dispozici s ovládacím prvkem DataGridView:

Informace o vytváření vlastních ovládacích prvků pro úpravy naleznete v tématu Postupy: Hostování ovládacích prvků v buňkách Windows Forms DataGridView.

Následující tabulka znázorňuje vztah mezi typy buněk, typy sloupců a ovládacími prvky pro úpravy.

Typ buňky Hostovaný ovládací prvek Typ sloupce
DataGridViewButtonCell není k dispozici DataGridViewButtonColumn
DataGridViewCheckBoxCell není k dispozici DataGridViewCheckBoxColumn
DataGridViewComboBoxCell DataGridViewComboBoxEditingControl DataGridViewComboBoxColumn
DataGridViewImageCell není k dispozici DataGridViewImageColumn
DataGridViewLinkCell není k dispozici DataGridViewLinkColumn
DataGridViewTextBoxCell DataGridViewTextBoxEditingControl DataGridViewTextBoxColumn

DataGridViewRow

Třída DataGridViewRow zobrazí datová pole záznamu z úložiště dat, ke kterému je připojen ovládací prvek DataGridView. K řádkům ovládacího prvku DataGridView se dostanete pomocí kolekce Rows. K vybraným řádkům můžete přistupovat pomocí kolekce SelectedRows. Následující objektový model znázorňuje toto použití a ukazuje hierarchii dědičnosti DataGridViewRow.

Diagram znázorňující hierarchii objektového modelu DataGridViewRow

Můžete odvodit vlastní typy z DataGridViewRow třídy, i když to obvykle nebude nutné. Ovládací prvek DataGridView má několik událostí a vlastností pro přizpůsobení chování objektů DataGridViewRow, které souvisí s řádky.

Pokud povolíte vlastnost DataGridView ovládacího prvku AllowUserToAddRows, zobrazí se jako poslední řádek speciální řádek pro přidání nových řádků. Tento řádek je součástí kolekce Rows, ale má speciální funkce, které mohou vyžadovat vaši pozornost. Další informace naleznete v tématu Použití řádku pro nové záznamy v ovládacím prvku Windows Forms DataGridView.

Viz také