Bonjour,
Je ne sais pas est ce que c'est possible de faire un test sur une cellule d'un GridView l'hor de la modification, je veux savoir est ce que la valeur initiale est différente à la valeur entrée.
Merci
Version imprimable
Bonjour,
Je ne sais pas est ce que c'est possible de faire un test sur une cellule d'un GridView l'hor de la modification, je veux savoir est ce que la valeur initiale est différente à la valeur entrée.
Merci
ca, c'est ce qu'on fait à la fin, quand on veut sauvegarder ou autre.Code:
1
2
3
4
5 foreach (DataGridRow row in madatagrid) { if(row.DataChanged == DataChanged.Modified) // mon traitement }
en placant un traitement identique dans le bon event, par exemple cellEdited,(ou un truc du genre), tu dois pouvoir faire ce que tu veux.
par contre, si tu edites, genre efface et remet le meme contenu, il se peut que ca estime que la valeur ait été modifiée
l'hor, de Dior?
Tu peux aussi te servir de l'évènement RowUpdating dans lequel tu peux manipuler les collections OldValues et NewValues
j'ai déja esseyé mais ca concerne tous les champs, mais moi je veux un seul champ.
pour le moment j'arrive à récupérer la nouvel valeur, mais l'ancienne valeur que je dois la récupérer juste quand je clique sur "Edit" du gridview.
est ce qu'il ya un moyen de récupérer l'index de la ligne en cliquant sur "Edit"?!!
Je me permet de faire remonter ce post :
Ca ne marche pas car ma collection de NewValues est vide.Code:
1
2
3
4
5
6
7
8 protected void ValidationModifLigne(object sender, GridViewUpdateEventArgs e) { dttableTemp.Rows[e.RowIndex]["num"] = e.NewValues["num"]; dttableTemp.Rows[e.RowIndex]["nom"] = e.NewValues["nom"]; gridviewTemp.EditIndex = -1; //Rafraichissement de ma Gridview }
Du coup quand je fait la manipulation de modifier une valeur, la ligne de la gridview (qui est bindée à dttableTemp, une DATATABLE) a le num et le nom vide.
Merci d'avance de votre aide.