Režimy výběru v ovládacím prvku Windows Forms DataGridView
Někdy chcete, aby vaše aplikace prováděla akce na základě uživatelských výběrů v rámci DataGridView ovládacího prvku. V závislosti na akcích můžete chtít omezit druhy výběru, které jsou možné. Předpokládejme například, že vaše aplikace může vytisknout sestavu pro aktuálně vybraný záznam. V takovém případě můžete chtít ovládací prvek nakonfigurovat DataGridView tak, aby kliknutí kamkoli do řádku vždy vybralo celý řádek a bylo možné vybrat vždy pouze jeden řádek najednou.
Výběry můžete zadat nastavením DataGridView.SelectionMode vlastnosti na jednu z následujících DataGridViewSelectionMode hodnot výčtu.
Hodnota DataGridViewSelectionMode | Popis |
---|---|
CellSelect | Kliknutím na buňku ji vyberete. Záhlaví řádků a sloupců nelze použít pro výběr. |
ColumnHeaderSelect | Kliknutím na buňku ji vyberete. Kliknutím na záhlaví sloupce vyberete celý sloupec. Záhlaví sloupců nelze použít k řazení. |
FullColumnSelect | Kliknutím na buňku nebo záhlaví sloupce vyberete celý sloupec. Záhlaví sloupců nelze použít k řazení. |
FullRowSelect | Kliknutím na buňku nebo záhlaví řádku vyberete celý řádek. |
RowHeaderSelect | Výchozí režim výběru Kliknutím na buňku ji vyberete. Kliknutím na záhlaví řádku vyberete celý řádek. |
Poznámka:
Změna režimu výběru za běhu automaticky vymaže aktuální výběr.
Ve výchozím nastavení můžou uživatelé vybrat více řádků, sloupců nebo buněk přetažením myší, stisknutím kláves CTRL nebo SHIFT a výběrem možnosti rozšířit nebo upravit výběr nebo kliknutím na buňku záhlaví vlevo nahoře vybrat všechny buňky v ovládacím prvku. Chcete-li zabránit tomuto chování, nastavte MultiSelect vlastnost na false
hodnotu .
Režimy FullRowSelect umožňují RowHeaderSelect uživatelům odstranit řádky tak, že je vyberou a stisknou klávesu DELETE. Uživatelé mohou odstranit řádky pouze v případě, že aktuální buňka není v režimu úprav, AllowUserToDeleteRows vlastnost je nastavena na true
a podkladový zdroj dat podporuje odstranění řádků řízené uživatelem. Všimněte si, že tato nastavení nezabrání programovým odstraněním řádků.
Programový výběr
Aktuální režim výběru omezuje chování programového výběru a také výběr uživatele. Aktuální výběr můžete změnit programově nastavením Selected
vlastnosti všech buněk, řádků nebo sloupců, které jsou přítomné v ovládacím DataGridView prvku. V závislosti na režimu výběru můžete také vybrat všechny buňky v ovládacím prvku metodou SelectAll . Pokud chcete výběr vymazat, použijte metodu ClearSelection .
Pokud je vlastnost nastavena MultiSelect na true
, můžete přidat DataGridView prvky do nebo odebrat z výběru změnou Selected
vlastnosti prvku. V opačném případě nastavení Selected
vlastnosti true
pro jeden prvek automaticky odebere ostatní prvky z výběru.
Všimněte si, že změna hodnoty CurrentCell vlastnosti nemění aktuální výběr.
Kolekci aktuálně vybraných buněk, řádků nebo sloupců můžete načíst pomocí SelectedCellsovládacího prvku , SelectedRowsa SelectedColumns vlastností DataGridView ovládacího prvku. Přístup k těmto vlastnostem je neefektivní, když je vybrána každá buňka v ovládacím prvku. Abyste se v tomto případě vyhnuli snížení výkonu, použijte nejprve metodu AreAllCellsSelected . Přístup k těmto kolekcím navíc umožňuje určit počet vybraných buněk, řádků nebo sloupců neefektivní. Místo toho byste měli použít GetCellCounthodnotu , GetRowCountnebo GetColumnCount metodu Selected .
Tip
Ukázkový kód, který ukazuje programové použití vybraných buněk, najdete v přehledu DataGridView třídy.
Viz také
.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