Как удалить строки из DataGridView?

У меня есть winform с предустановленным DataGridView над ним... Я хочу удалить строки из datagridview при выборе или выделения строк и нажатии кнопки...

Также хотите очистить все столбцы....

В настоящее время я использовал

foreach (DataGridViewRow dgvr in dataGridView2.Rows)
{
    if (dgvr.Selected == true)
    {
        dataGridView2.Rows.Remove(dgvr);
    }
}

но он бросает исключение, которое "строит или не совершает" или что-то... было бы заметно, если у кого-то есть какие-то лучшие предложения....

Ответ 1

Если в вашем DataGridView включен AllowUserToAddRows, вы можете случайно удалить пустую строку внизу DataView, которая является заполнителем для следующей созданной пользователем строки. Попробуйте отключить эту опцию, если это не требуется, иначе попробуйте использовать такой код:

foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
    if(!row.IsNewRow)
       dataGridView1.Rows.Remove(row);
}