Sdílet prostřednictvím


Typy sloupců v ovládacím prvku Windows Forms DataGridView

Ovládací DataGridView prvek používá k zobrazení informací několik typů sloupců a umožňuje uživatelům upravovat nebo přidávat informace.

Když svážete DataGridView ovládací prvek a nastavíte AutoGenerateColumns vlastnost na true, sloupce se automaticky vygenerují pomocí výchozích typů sloupců vhodných pro datové typy obsažené ve vázaném zdroji dat.

Můžete také vytvořit instance libovolné třídy sloupců sami a přidat je do kolekce vrácené Columns vlastností. Tyto instance můžete vytvořit pro použití jako nevázané sloupce nebo je můžete vytvořit ručně. Ručně vázané sloupce jsou užitečné například v případě, že chcete nahradit automaticky vygenerovaný sloupec jednoho typu sloupcem jiného typu.

Následující tabulka popisuje různé třídy sloupců, které jsou k dispozici pro použití v ovládacím DataGridView prvku.

Třída Popis
DataGridViewTextBoxColumn Používá se s textovými hodnotami. Vygenerováno automaticky při vazbě na čísla a řetězce.
DataGridViewCheckBoxColumn Používá se s Boolean hodnotami a CheckState hodnotami. Vygenerováno automaticky při vazbě na hodnoty těchto typů.
DataGridViewImageColumn Slouží k zobrazení obrázků. Generuje se automaticky při vazbě na pole bajtů, Image objekty nebo Icon objekty.
DataGridViewButtonColumn Slouží k zobrazení tlačítek v buňkách. Při vazbě se negeneruje automaticky. Obvykle se používá jako nevázané sloupce.
DataGridViewComboBoxColumn Slouží k zobrazení rozevíracích seznamů v buňkách. Při vazbě se negeneruje automaticky. Obvykle jsou data svázaná ručně.
DataGridViewLinkColumn Slouží k zobrazení odkazů v buňkách. Při vazbě se negeneruje automaticky. Obvykle jsou data svázaná ručně.
Váš vlastní typ sloupce Vlastní třídu sloupců můžete vytvořit tak, že zdědíte DataGridViewColumn třídu nebo některou z jejích odvozených tříd a poskytnete tak vlastní vzhled, chování nebo hostované ovládací prvky. Další informace naleznete v tématu Postupy: Přizpůsobení buněk a sloupců v ovládacím prvku model Windows Forms DataGridView rozšířením jejich chování a vzhledu

Tyto typy sloupců jsou podrobněji popsány v následujících částech.

Datagridviewtextboxcolumn

Jedná se DataGridViewTextBoxColumn o typ sloupce pro obecné účely pro použití s textovými hodnotami, jako jsou čísla a řetězce. V režimu TextBox úprav se ovládací prvek zobrazí v aktivní buňce a umožní uživatelům změnit hodnotu buňky.

Hodnoty buněk se automaticky převedou na řetězce pro zobrazení. Hodnoty zadané nebo upravené uživatelem se automaticky parsují a vytvoří hodnotu buňky příslušného datového typu. Tyto převody můžete přizpůsobit zpracováním CellFormatting událostí DataGridView ovládacího prvku.CellParsing

Datový typ hodnoty buňky sloupce je zadán ve ValueType vlastnosti sloupce.

Datagridviewcheckboxcolumn

Používá se DataGridViewCheckBoxColumn s Boolean hodnotami a CheckState s hodnotami. Boolean hodnoty se zobrazují jako zaškrtávací políčka se dvěma stavy nebo třemi stavy v závislosti na hodnotě ThreeState vlastnosti. Pokud je sloupec vázán na CheckState hodnoty, ThreeState hodnota vlastnosti je true ve výchozím nastavení.

Hodnoty buněk zaškrtávacího políčka jsou obvykle určeny buď pro ukládání, jako jsou jakákoli jiná data, nebo pro provádění hromadných operací. Pokud chcete odpovědět okamžitě, když uživatelé kliknou na buňku zaškrtávacího políčka, můžete zpracovat CellClick událost, ale tato událost nastane před aktualizací hodnoty buňky. Pokud potřebujete novou hodnotu v okamžiku kliknutí, jednou z možností je vypočítat, jaká očekávaná hodnota bude založena na aktuální hodnotě. Dalším přístupem je okamžité potvrzení změny a zpracování CellValueChanged události, která na ni reaguje. Chcete-li změnu potvrdit po kliknutí na buňku CurrentCellDirtyStateChanged , musíte zpracovat událost. Pokud je aktuální buňka v obslužné rutině buňka zaškrtávacího políčka, zavolejte metodu CommitEdit a předejte Commit hodnotu.

DataGridViewImageColumn

Slouží DataGridViewImageColumn k zobrazení obrázků. Sloupce obrázků se dají automaticky vyplňovat ze zdroje dat, ručně vyplněné pro nevázané sloupce nebo dynamicky do obslužné rutiny události CellFormatting .

Automatický základní soubor sloupce obrázku ze zdroje dat funguje s bajtovými poli v různých formátech obrázků, včetně všech formátů podporovaných Image třídou a formátem OLE Picture používaným aplikací Microsoft® Access a ukázkovou databází Northwind.

Naplnění sloupce obrázku ručně je užitečné, když chcete poskytnout funkce DataGridViewButtonColumn, ale s přizpůsobeným vzhledem. Událost můžete zpracovat DataGridView.CellClick tak, aby reagovala na kliknutí v buňce obrázku.

Naplnění buněk sloupce obrázku v obslužné rutině události CellFormatting je užitečné, když chcete poskytnout obrázky pro počítané hodnoty nebo hodnoty v jiných formátech než obrázku. Můžete mít například sloupec "Riziko" s řetězcovými hodnotami, jako "high"je , "middle"a "low" chcete je zobrazit jako ikony. Alternativně můžete mít sloupec Obrázek, který obsahuje umístění obrázků, které se musí načíst, a nikoli binární obsah obrázků.

DataGridViewButtonColumn

Pomocí tlačítka DataGridViewButtonColumnmůžete zobrazit sloupec buněk, které obsahují tlačítka. To je užitečné, když chcete uživatelům poskytnout snadný způsob, jak provádět akce s konkrétními záznamy, jako je například umístění objednávky nebo zobrazení podřízených záznamů v samostatném okně.

Sloupce spouštěné tlačítkem se negenerují automaticky, když ovládací prvek prováže DataGridView data. Pokud chcete použít sloupce spouštěné tlačítkem, musíte je vytvořit ručně a přidat je do kolekce vrácené DataGridView.Columns vlastností.

Kliknutím na uživatele v buňkách tlačítek můžete odpovědět zpracováním DataGridView.CellClick události.

DataGridViewComboBoxColumn

Pomocí ovládacího prvku DataGridViewComboBoxColumnmůžete zobrazit sloupec buněk, které obsahují rozevírací seznamy. To je užitečné pro zadávání dat v polích, která můžou obsahovat pouze určité hodnoty, například sloupec Category v tabulce Products v ukázkové databázi Northwind.

Rozevírací seznam použitý pro všechny buňky můžete naplnit stejným způsobem ComboBox jako rozevírací seznam, a to buď ručně prostřednictvím kolekce vrácené Items vlastností, nebo jeho vazbou ke zdroji dat prostřednictvím objektu DataSource, DisplayMembera ValueMember vlastností. Další informace naleznete v tématu ComboBox Control.

Skutečné hodnoty buněk můžete svázat se zdrojem dat používaným DataGridView ovládacím prvku nastavením DataPropertyName vlastnosti System.Windows.Forms.DataGridViewComboBoxColumn.

Sloupce pole se seznamem se negenerují automaticky, když ovládací prvek vytvoří vazbu DataGridView dat. Chcete-li použít sloupce pole se seznamem, musíte je vytvořit ručně a přidat je do kolekce vrácené Columns vlastností.

Datagridviewlinkcolumn

Pomocí této možnosti DataGridViewLinkColumnmůžete zobrazit sloupec buněk, které obsahují hypertextové odkazy. To je užitečné pro hodnoty URL ve zdroji dat nebo jako alternativu ke sloupci tlačítka pro speciální chování, jako je otevření okna s podřízenými záznamy.

Sloupce propojení se negenerují automaticky při vazbě DataGridView dat ovládacího prvku. Pokud chcete použít sloupce odkazů, musíte je vytvořit ručně a přidat je do kolekce vrácené Columns vlastností.

Kliknutím na odkazy uživatele můžete reagovat zpracováním CellContentClick události. Tato událost se liší od CellClick událostí a CellMouseClick událostí, ke kterým dochází, když uživatel klikne kdekoli v buňce.

Třída DataGridViewLinkColumn poskytuje několik vlastností pro úpravu vzhledu odkazů před, během a po jejich kliknutí.

Viz také