[C# WebForm] Suppression de ligne dans un DataGrid
Bonjour.
Je remplis un DataGrid via un DataSet dans mon WebForm. Etant donné que le DataSet est perdu lors de chaque aller-retour client/serveur, j'enregistre celui-ci dans une variable session.
Mon DataGrid contient sur chaque ligne le lien "Supprimer" qui fait appel a DeleteCommand lorsqu'on clique dessus. Je cherche à implémenter cette fonctionnalité, donc à supprimer la ligne correspondante de mon DataGrid, mais SANS SUPPRIMER les données contenues dans la base.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
private void DataGrid_Resultat_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataView dv=(DataView)Session["DataTableRecherche"];
dv.Table.Rows[e.Item.ItemIndex].Delete();
this.DataGrid_Resultat.DataSource=dv;
this.DataGrid_Resultat.DataBind();
Session["DataTableRecherche"]=dv;
} |
Lorsque je supprime une ligne, ça fonctionne. Mais si je supprime la ligne suivante, ça me supprime la ligne qui est juste au-dessus. Idem si je tente de supprimer certaines lignes, soit ça supprime rien du tout, soit ça supprime la bonne ligne, soit ça supprime celle située juste au-dessus de celle qui devrait être normalement supprimée.
Je pense que les index des liens "Supprimer" ne sont pas remis à jour à chaque DataBind(). Est-ce que quelqu'un aurait une idée d'où viens le problème, et également s'il connaît une solution pour que tout rentre dans l'ordre ? D'avance, merci.