Sdílet prostřednictvím


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

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

Prvky architektury

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

Diagram that shows the DataGridViewElement Object Model hierarchy.

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

Následující části popisují DataGridView doprovodné třídy podrobněji.

DataGridViewElementStates

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

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

Buňky a pásma

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

Ovládací DataGridView prvek 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 DataGridViewRow třídy a k vybraným buňkám se dostanete pomocí SelectedCells kolekce DataGridView ovládacího prvku. Následující objektový model znázorňuje toto použití a ukazuje DataGridViewCell hierarchii dědičnosti.

Diagram that shows the DataGridViewCell Object Model hierarchy.

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

DataGridViewCellobjekty neřídí vlastní vzhled a malování funkce stejným způsobem jako model Windows Forms ovládací prvky. DataGridView Místo toho je zodpovědný za vzhled svých DataGridViewCell objektů. Vzhledach DataGridView Pokud máte zvláštní požadavky na přizpůsobení, které jsou nad rámec schopností DataGridView ovládacího prvku, můžete implementovat vlastní třídu odvozenou z DataGridViewCell podřízených tříd 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 DataGridView úložiště dat ovládacího prvku se vyjadřuje ve DataGridView sloupcích ovládacího prvku. Ke sloupcům DataGridView ovládacího prvku se dostanete pomocí Columns kolekce. K vybraným sloupcům můžete přistupovat pomocí SelectedColumns kolekce. Následující objektový model znázorňuje toto použití a ukazuje DataGridViewColumn hierarchii dědičnosti.

Diagram that shows the DataGridViewColumn Object Model hierarchy.

Některé z klíčových typů buněk mají odpovídající typy sloupců. Ty jsou odvozeny ze 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 model Windows Forms ovládacího prvku. Tyto ovládací prvky také implementují IDataGridViewEditingControl rozhraní. Následující objektový model znázorňuje použití těchto ovládacích prvků.

Diagram showing the DataGridView Editing Control Object Model hierarchy.

Ovládací prvky pro úpravy jsou součástí DataGridView ovládacího prvku:

Informace o vytváření vlastních ovládacích prvků pro úpravy naleznete v tématu Postupy: Hostitelské ovládací prvky v model Windows Forms DataGridView Cells.

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 nelze použít DataGridViewCheckBoxColumn
DataGridViewComboBoxCell DataGridViewComboBoxEditingControl DataGridViewComboBoxColumn
DataGridViewImageCell nelze použít 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 DataGridView je ovládací prvek připojen. K řádkům DataGridView ovládacího prvku se dostanete pomocí Rows kolekce. K vybraným řádkům můžete přistupovat pomocí SelectedRows kolekce. Následující objektový model znázorňuje toto použití a ukazuje DataGridViewRow hierarchii dědičnosti.

Diagram that shows the DataGridViewRow Object Model hierarchy.

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

Pokud povolíte DataGridView vlastnost 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í Rows kolekce, 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 model Windows Forms DataGridView.

Viz také