Passage de paramètres datagrid => formulaire

Signaler
Messages postés
65
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
3 septembre 2004
-
Messages postés
158
Date d'inscription
samedi 22 juin 2002
Statut
Membre
Dernière intervention
27 juin 2015
-
Bonjour à tous,

J'ai une datagrid qui affiche certaines des informations
de ma bd.
Elle contient aussi deux colonnes de boutons : supprimer et modifier.

Je voudrais qu'en cliquant sur modifier on aille sur une
page de formulaire de modification prenant en paramètre
l'id de la ligne. [ je sais que je peux modifier grâce au datagrid, mais mes infos sont trop volumineuses, donc il vaut mieux que je fasse les modifs via un formulaire]

Pour passer le paramètre, je fais :

Server.Transfer("http://monurl/MonForm.aspx?id="+Id);

et dans les propriétés de ma datagrid, je mets DataKeyField="Id"

Est-ce que j'ai utilisé la bonne méthode pour passer mon paramètre ?
Comment est-ce que je dois faire dans ma page de formulaire pour pouvoir récupérer et utiliser l'id de la ligne ?

Merci d'avance.

PS : dsl si je ne suis pas sur le bon forum, mais j'étais sur celui de c# et on m'a renvoyée ici...

*** Kati ***

1 réponse

Messages postés
158
Date d'inscription
samedi 22 juin 2002
Statut
Membre
Dernière intervention
27 juin 2015
1
Salut !
Alors voilà comment récupérer l'ID en cours.
Le code suivant te permet de récupérer l'ID de la ligne en cours.

Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.EditCommand
'-- récupère l'ID de la ligne
Dim intNoId = e.Item.ItemIndex
End Sub

Ensuite, si tu souhaites modifier les valeurs via le bouton modifier, tu dois faire la chose suivante: (enfin là, ça ne te montre que comment récupérer des valeurs.... Après moi dans mon code, je modifie via un update, et je reloade après...)

Dim txtCol1 as TextBox

txtCol1 = (CType(DataGrid1.Items(e.Item.ItemIndex).Cells(0).Controls(0), TextBox))
Response.write txtCol1.text

(Perso je récupère en Castant en TextBox... Je sais pas si c la solution "officielle", mais chez moi ça marche comme ça, alors...)

Voilà. ça répond à ta question ?

:)

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher