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 falsehodnotu .

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 truea 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é