web-dev-qa-db-fra.com

Comment supprimer des lignes de DataGridView?

J'ai un winform avec DataGridView préchargé dessus ... Je veux supprimer des lignes de datagridview en sélectionnant ou en mettant en surbrillance les lignes et en cliquant sur le bouton ...

Vous voulez également effacer toutes les colonnes ....

Actuellement, j'ai utilisé

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

mais il lève une exception que "des lignes ou non engagées" ou quelque chose .... ce serait appréciable si quelqu'un avait de meilleures suggestions ....

11
samj28

Si vous avez AllowUserToAddRows activé sur votre DataGridView, il se peut que vous supprimiez accidentellement la ligne vide au bas du DataView qui est un espace réservé pour la ligne créée par l'utilisateur suivante. Essayez de désactiver cette option si ce n'est pas nécessaire, sinon essayez d'utiliser du code comme celui-ci:

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