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é
- DataGridView
- DataGridViewColumn
- DataGridViewButtonColumn
- DataGridViewCheckBoxColumn
- DataGridViewComboBoxColumn
- DataGridViewImageColumn
- DataGridViewTextBoxColumn
- DataGridViewLinkColumn
- Ovládací prvek DataGridView
- Postupy: Zobrazení obrázků v buňkách ovládacího prvku Windows Forms DataGridView
- Postupy: Práce se sloupci obrázků v ovládacím prvku Windows Forms DataGridView
- Přizpůsobení ovládacího prvku Windows Forms DataGridView
.NET Desktop feedback
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro