Edit

Share via


DataGridView.SelectedRows Property

Definition

Gets the collection of rows selected by the user.

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

Property Value

A DataGridViewSelectedRowCollection that contains the rows selected by the user.

Attributes

Examples

The following code example demonstrates how to use the SelectedRows property in the UserDeletingRow event. In this example, if the first row is contained in the SelectedRows collection, then the deletion is canceled. This example is part of a larger example available in the SelectionChanged event.

private void DataGridView1_UserDeletingRow(object sender,
    DataGridViewRowCancelEventArgs e)
{
    DataGridViewRow startingBalanceRow = DataGridView1.Rows[0];

    // Check if the Starting Balance row is included in the selected rows
    if (DataGridView1.SelectedRows.Contains(startingBalanceRow))
    {
        // Do not allow the user to delete the Starting Balance row.
        MessageBox.Show("Cannot delete Starting Balance row!");

        // Cancel the deletion if the Starting Balance row is included.
        e.Cancel = true;
    }
}
Private Sub UserDeletingRow(ByVal sender As Object, _
    ByVal e As DataGridViewRowCancelEventArgs) _
    Handles DataGridView1.UserDeletingRow

    Dim startingBalanceRow As DataGridViewRow = DataGridView1.Rows(0)

    ' Check if the starting balance row is included in the selected rows
    If DataGridView1.SelectedRows.Contains(startingBalanceRow) Then
        ' Do not allow the user to delete the Starting Balance row.
        MessageBox.Show("Cannot delete Starting Balance row!")

        ' Cancel the deletion if the Starting Balance row is included.
        e.Cancel = True
    End If
End Sub

Remarks

The SelectionMode property must be set to FullRowSelect or RowHeaderSelect for the SelectedRows property to be populated with selected rows.

This property contains a read-only snapshot of the selection at the time it is referenced. If you hold onto a copy of this collection, it may differ from the actual, subsequent DataGridView state in which the user may have changed the selection. You should therefore not operate on a copy of the collection.

To programmatically select a row, set its Selected property to true.

Applies to

See also