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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
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.
Partager