Voilà, j'ai rempli un datagridview via une base de données (datasource).
L'utilisateur peut extraire certaine ligne : il sélectionne des lignes et clique sur un bouton extraire, n'apparaisse alors que les lignes précédemment sélectionnées, toutes les autres sont à l'état visible=false. Jusque là pas de problème.
J'ai ajouté un bouton qui inverse la sélection de l'utilisateur, donc change l'état selected par non selected et non selected par selected.
Quand ensuite je clique sur le bouton Extraire, il m'envoie le message : L'exception InvalidOperationException n'a pas été gérée.
Je me doute que le problème vient du code de ce bouton car si ne je passe pas par le bouton inverser, je ne rencontre pas de problème pour extraire ma sélection.

Voici le code du bouton Extraire
private void btnExtraire_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow LigneEtab in tabEtablissement.Rows)
{
LigneEtab.Visible = LigneEtab.Selected;
}
AffichageNbEtab(tabEtablissement.Rows.GetRowCount(DataGridViewElementStates.Selected),sender);
}
et celui du bouton inverser
private void btnInvSel_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow LigneEtab in tabEtablissement.Rows)
{
if (LigneEtab.Visible)
{
if (LigneEtab.Selected)
LigneEtab.Selected = false;
else
LigneEtab.Selected = true;
}
}
}

Esperant que vous pourrez m'éclairer sur ce problème ...