Sdílet prostřednictvím


DataGridView.SelectedColumns Vlastnost

Definice

Získá kolekci sloupců vybraných uživatelem.

public:
 property System::Windows::Forms::DataGridViewSelectedColumnCollection ^ SelectedColumns { System::Windows::Forms::DataGridViewSelectedColumnCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.DataGridViewSelectedColumnCollection SelectedColumns { get; }
[<System.ComponentModel.Browsable(false)>]
member this.SelectedColumns : System.Windows.Forms.DataGridViewSelectedColumnCollection
Public ReadOnly Property SelectedColumns As DataGridViewSelectedColumnCollection

Hodnota vlastnosti

Představuje DataGridViewSelectedColumnCollection sloupce vybrané uživatelem.

Atributy

Příklady

Následující příklad kódu ukazuje, jak použít SelectedColumns vlastnost k získání vybraného sloupce v programovém řazení. V tomto příkladu se tato vlastnost používá v Sort metodě k určení směru řazení.

private void sortButton_Click(object sender, System.EventArgs e)
{
    // Check which column is selected, otherwise set NewColumn to null.
    DataGridViewColumn newColumn =
        dataGridView1.Columns.GetColumnCount(
        DataGridViewElementStates.Selected) == 1 ?
        dataGridView1.SelectedColumns[0] : null;

    DataGridViewColumn oldColumn = dataGridView1.SortedColumn;
    ListSortDirection direction;

    // If oldColumn is null, then the DataGridView is not currently sorted.
    if (oldColumn != null)
    {
        // Sort the same column again, reversing the SortOrder.
        if (oldColumn == newColumn &&
            dataGridView1.SortOrder == SortOrder.Ascending)
        {
            direction = ListSortDirection.Descending;
        }
        else
        {
            // Sort a new column and remove the old SortGlyph.
            direction = ListSortDirection.Ascending;
            oldColumn.HeaderCell.SortGlyphDirection = SortOrder.None;
        }
    }
    else
    {
        direction = ListSortDirection.Ascending;
    }

    // If no column has been selected, display an error dialog  box.
    if (newColumn == null)
    {
        MessageBox.Show("Select a single column and try again.",
            "Error: Invalid Selection", MessageBoxButtons.OK,
            MessageBoxIcon.Error);
    }
    else
    {
        dataGridView1.Sort(newColumn, direction);
        newColumn.HeaderCell.SortGlyphDirection =
            direction == ListSortDirection.Ascending ?
            SortOrder.Ascending : SortOrder.Descending;
    }
}
Private Sub SortButton_Click(ByVal sender As Object, _
    ByVal e As EventArgs) Handles sortButton.Click

    ' Check which column is selected, otherwise set NewColumn to Nothing.
    Dim newColumn As DataGridViewColumn
    If dataGridView1.Columns.GetColumnCount(DataGridViewElementStates _
        .Selected) = 1 Then
        newColumn = dataGridView1.SelectedColumns(0)
    Else
        newColumn = Nothing
    End If

    Dim oldColumn As DataGridViewColumn = dataGridView1.SortedColumn
    Dim direction As ListSortDirection

    ' If oldColumn is null, then the DataGridView is not currently sorted.
    If oldColumn IsNot Nothing Then

        ' Sort the same column again, reversing the SortOrder.
        If oldColumn Is newColumn AndAlso dataGridView1.SortOrder = _
            SortOrder.Ascending Then
            direction = ListSortDirection.Descending
        Else

            ' Sort a new column and remove the old SortGlyph.
            direction = ListSortDirection.Ascending
            oldColumn.HeaderCell.SortGlyphDirection = SortOrder.None
        End If
    Else
        direction = ListSortDirection.Ascending
    End If


    ' If no column has been selected, display an error dialog  box.
    If newColumn Is Nothing Then
        MessageBox.Show("Select a single column and try again.", _
            "Error: Invalid Selection", MessageBoxButtons.OK, _
            MessageBoxIcon.Error)
    Else
        dataGridView1.Sort(newColumn, direction)
        If direction = ListSortDirection.Ascending Then
            newColumn.HeaderCell.SortGlyphDirection = SortOrder.Ascending
        Else
            newColumn.HeaderCell.SortGlyphDirection = SortOrder.Descending
        End If
    End If

End Sub

Poznámky

Vlastnost SelectionMode musí být nastavená na DataGridViewSelectionMode.FullColumnSelect hodnotu nebo DataGridViewSelectionMode.ColumnHeaderSelect , SelectedColumns aby se vlastnost naplnila vybranými sloupci.

Tato vlastnost obsahuje snímek výběru jen pro čtení v okamžiku, kdy se na něj odkazuje. Pokud držíte kopii této kolekce, může se lišit od skutečného následného DataGridView stavu, ve kterém uživatel mohl výběr změnit. Proto byste neměli pracovat s kopií kolekce.

Platí pro

Viz také